我正在尝试重定向(请注意没有查询字符串):
http://www.reviews.com/review/review_review.cfm?review_id=135223
到
http://www.reviews.com/
现行规则:
Redirect 301 /review/review_review.cfm http://www.reviews.com/
使原始网址重定向到http://www.reviews.com/?review_id=135223
基于一些堆栈问题here和here,我应该可以在重定向规则中添加?
,如下所示:
Redirect 301 /review/review_review.cfm http://www.reviews.com/?
但重定向到http://www.reviews.com/?
。落后?遗迹。我怎么摆脱这个杀了我。
答案 0 :(得分:14)
你无法使用mod_alias摆脱无关的?
。 ?
将阻止查询字符串被附加但使用mod_alias,但遗憾的是,它包含?
作为重定向的一部分。但是,mod_rewrite不会,因为将?
添加到结尾,告诉它不包含任何现有的查询字符串,其工作方式与mod_alias相同,但之后再次由mod_alias处理,减去尾随?
,因此最终结果是在网址末尾没有尾随?
。如下所示:
RewriteEngine On
RewriteRule ^/?review/review_review.cfm$ http://www.reviews.com/? [L,R=301]
这将取代Redirect
声明。