【发布时间】:2016-01-10 22:12:43
【问题描述】:
我将URL末尾包含.html的所有页面的地址替换为不包含.html的地址。
.htaccess(相关部分):
...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
...
例如,而不是这个地址:
http://......net/part0/part1/part2/part3.html
我得到这个地址:
http://......net/part0/part1/part2/part3
现在如果 GET 请求包含一些特定参数,我不需要执行重定向(我应该返回代码 200),例如:
?param1=value1¶m2=value2¶m3=value3
即这个查询:
http://......net/part0/part1/part2/part3.html?param1=value1¶m2=value2¶m3=value3
应该转换成这个查询:
http://......net/part0/part1/part2/part3?param1=value1¶m2=value2¶m3=value3
我该怎么做?
我将非常感谢您提供的信息。谢谢大家。
【问题讨论】:
-
恕我直言,如果您需要更改 URL,您必须有一个重定向(不一定是 301)
标签: regex .htaccess mod-rewrite redirect