我需要从一个目录重定向到另一个保存查询字符串.htaccess,因为我已将搜索目录从/global/search/
更改为/search/
重定向
localhost/site/global/search/index.php?keyword=hi&search=all
要
localhost/site/search/?keyword=hi&search=all
目录结构
wamp/www/site/global/search/index.php //for /global/ directory
wamp/www/site/search/index.php //for /search/ directory
我正在尝试这种方式
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^global/search(/?|/index.php?)$ /site/search/?$1 [QSA,R=301,L]
除了我在查询字符串
中获得index.php
之外,这是有效的
我在重定向后收到此网址。
http://localhost/site/search/?/index.php&keyword=hi&search=all
我希望这个网址像
http://localhost/site/search/?keyword=hi&search=all
请参阅index.php作为查询字符串进入重定向网址的原因,并建议在没有index.php的情况下获取干净查询字符串的方法
答案 0 :(得分:1)
你可以尝试这条规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^global/search(/?|/index\.php)$ /site/search/ [NC,R=301,L]