【问题标题】:Passing any parameters in htaccess url rewriting (mod_rewrite in Apache)在 htaccess url 重写中传递任何参数(Apache 中的 mod_rewrite)
【发布时间】:2013-12-12 11:11:19
【问题描述】:

我想要这样的网址: ht_tp://mysite.com/app/paramName1/value1/paramName2/value2/...

要翻译成类似: ht_tp://mysite.com/app.php?paramName1=value1&paramName2=value2&...

可以用.htaccess中的一条规则来实现吗?

请注意,操作系统参数的数量和“应用程序”的名称会不断变化,我不想为每种可能性添加新规则/条目。

有什么想法吗?我是否需要使用脚本来拦截请求(应用名称和 URL 的其余部分,然后将它们拆分为名称和值),然后重定向到正确的应用?

提前致谢!

【问题讨论】:

    标签: php apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    这是我目前得到的:

    RewriteRule ([^/]*)/(.*)?$ /translator.php?app=$1&params=$2 [NC,L]
    

    它将拆分 URL 并给我 2 个参数:第一个是应用程序名称(文件名或其他),第二个是由 / 分隔的参数列表

    例如,翻译器可以包含/导入该应用程序的内容,然后解析参数列表并从中生成变量(在 FOR 循环中)

    或者我可以尝试自动调用应用程序

    RewriteRule ([^/]*)/(.*)?$ /$1.php?params=$2 [NC,L]
    

    RewriteRule ([^/]*)/(.*)?$ /$1/?params=$2 [NC,L]
    

    其他建议将不胜感激!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多