【发布时间】:2012-03-21 11:08:28
【问题描述】:
我在.htaccess 中使用mod_rewrite 将双目录结构更改为双GET 查询字符串,如下所示:
网址:http://domain.com/test/me/
mod_rewrite 后:http://domain.com/index.php?u=test&c=me
在我的.htaccess 文件中使用以下代码:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?u=$1&c=$2 [L]
这很好用,但如果没有指定第二个目录(例如http://domain.com/test/),我希望c 变量等于“all”,如下所示:
http://domain.com/index.php?u=test&c=all
我该怎么做? 谢谢,正则表达式对我来说就像克林贡诗歌。我尝试了上述代码的几种不同变体,但均未成功。
附:如果您可以添加尾随 /,即使没有在 url 框中输入,也可以加分,因此 http://domain.com/test/me 的处理方式与 http://domain.com/test/me/ 相同,http://domain.com/test 的处理方式与 http://domain.com/test/ 相同
【问题讨论】:
标签: regex .htaccess mod-rewrite url-rewriting get