【发布时间】:2013-08-03 04:38:48
【问题描述】:
#Create friendly URL
RewriteRule ^$1-$2.php?$3=$4$ (.*)/(.*)/(.*)/(.*)/[L]
你好,stackoverflow!
我网站的当前站点(我们称之为 site.com)有这样的设置:
http://site.com/category/page/variable1/value1/variable2/value2/
http://site.com/category/page/variable1/value1/
http://site.com/category/page/
http://site.com/
我想将这些网址重写为:
http://site.com/category-page.php?variable1=value1&variable2=value2
http://site.com/category-page.php?variable1=value1
http://site.com/category-page.php
http://site.com/
上面的代码是我尝试编写的。它没有给我服务器错误消息,而是显然不起作用 - 当我转到 http://site.com/category/page/variable1/value1/variable2/value2/ 时,它只会给出 404 错误。
你们能帮帮我吗?
提前致谢
【问题讨论】:
-
Regex 和替换在您的 RewriteRule 中切换。您还提供了一个包含六个路径段的示例,但您的规则只允许四个。你检查过stackoverflow.com/tags/mod-rewrite/info 标签维基中的例子了吗?
-
@mario 这是我设置的第二个示例,因为我只是在测试初始重写。
-
@hungerstar 并不是说这个答案无关紧要,因为
category、page等有数百个不同的名称,手动将它们添加到 .htaccess 文件并不方便。
标签: php apache .htaccess mod-rewrite