Php .htaccess url rewrite将路径插入到url
我正在运行一个magento网站。我注意到一些GET参数Php .htaccess url rewrite将路径插入到url,php,.htaccess,magento,mod-rewrite,Php,.htaccess,Magento,Mod Rewrite,我正在运行一个magento网站。我注意到一些GET参数foo=1使其中一个扩展崩溃。我想捕获它并将其替换为foo=0,以防止foo成为1。 (由于其他原因,我需要foo,无法完全删除它) 因此,我将其插入我的.htaccess文件: RewriteCond %{QUERY_STRING} ^foo=1(.*)$ [NC] RewriteRule ^(.*)?foo=1$ $1foo=0 [R=301,L] 我希望这会改写: example.com/abc.html/?foo=1 致: ex
foo=1
使其中一个扩展崩溃。我想捕获它并将其替换为foo=0
,以防止foo成为1。
(由于其他原因,我需要foo,无法完全删除它)
因此,我将其插入我的.htaccess文件:
RewriteCond %{QUERY_STRING} ^foo=1(.*)$ [NC]
RewriteRule ^(.*)?foo=1$ $1foo=0 [R=301,L]
我希望这会改写:
example.com/abc.html/?foo=1
致:
example.com/abc.html/?foo=0
相反,它将其改写为:
example.com/home/[folder]/public\u html/abc.html/?foo=0
(它将文件位置路径从主目录添加到文件abc.html。Htaccess文件位于public\u html)
有人能告诉我如何防止这种情况吗?在
$1foo=0[R=301,L]
之前添加/
应该可以解决这个问题。是的
RewriteCond %{QUERY_STRING} ^foo=1(.*)$ [NC]
RewriteRule ^(.*)?foo=1$ /$1foo=0 [R=301,L]
这应该适合您:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+([^?]+)\?(foo)=1[&\s] [NC]
RewriteRule ^ /%1?%2=0 [R=301,L]
谢谢你的帮助,但这并没有解决问题。(我仍然将home/../public\u html添加到url)