传递htaccess url重写中的任何参数(Apache中的mod_rewrite)

时间:2013-12-12 00:06:49

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

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

要翻译成以下内容: ht_tp://mysite.com/app.php?paramName1=value1&paramName2=value2&...

可以通过.htaccess中的单个规则来实现吗?

请注意,数字os参数和'app'的名称会不断变化,我不想为每种可能性添加新的规则/条目。

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

这是我到目前为止所得到的:

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

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

例如,

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

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

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

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

其他建议将不胜感激!