[英]How to use .htaccess mod rewrite to redirect php url as a string?
我一直在努力使:
http://site.com/file.php?x=foo
重定向到:
http://newsite.com/something/completely/different/
使用以下内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^file\.php?x=foo$ http://newsite.com/something/completely/different/ [R=301,NC,L]
</IfModule>
但是它什么也没做(只是加载相同的旧页面,就像我从未接触过htaccess一样)。
有什么我想念的吗?
非常感谢您的帮助!
?
.php
的末尾使最后一个p
可选(因此.phpx=foo
或.phx=foo
将匹配)。 实际上,它并不是比赛中的角色。 尝试转义?
喜欢: \\?
编辑 :
对于那些想知道解决方案是什么的人:
查询字符串参数不会传递给RewriteRule
匹配的字符串。 因此,您必须首先在QUERY_STRING
上创建一个RewriteCond
,然后匹配不带参数的url。 例如:
RewriteCond %{QUERY_STRING} x=foo
RewriteRule ^file\.php$ http://newsite.com/something/completely/different/ [R=301,NC,L]
可能/希望有一种更好的方法来执行此操作(因为此RewriteCond
将级联为其他规则,这很烦人)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.