我有一个有这个网址的网站: http://www.example.com/stage?dept=01 我想把这个网址转换成这个 http://www.example.com/stage-ain.html
我希望新的网址覆盖标准的html,它会成为唯一可用的网址(适用于搜索引擎优化)。
我这样做,但不行:
RewriteEngine On
RewriteRule ^stage?dept=01$ stages-ain.html [R=301]
有你的想法吗?
由于
答案 0 :(得分:1)
RewriteRule
的第一个参数与查询字符串不匹配。您编写的正则表达式与网址stagedept=01
和stagdept=01
匹配。
您想要使用RewriteCond
代替。您可以使用%{QUERY_STRING}
变量,但这可能会导致无限循环。相反,您可能希望匹配%{THE_REQUEST}
。
RewriteCond %{THE_REQUEST} /stage\?dept=01
RewriteRule ^ stages-ain.html [R,L,QSD]
当您测试了一切按预期工作时,将[R]
标记更改为[R=301]
。始终将L
标志与外部重定向一起使用,除非您有充分的理由继续重写,因为这可能会导致一些奇怪的问题。
有关详细信息,请参阅the documentation。