重写和重定向URL没有重定向循环
问题描述:
使我有一些网址,我想重写和重定向重写和重定向URL没有重定向循环
mysite.com/search2.php?search=abc
应该被重定向到mysite.com/search/abc
。
和mysite.com/search/abc
应显示页面mysite.com/search2.php?search=abc
而不更改URL。
我已经写过重写代码,但不能在不引起无限循环的情况下进行重定向。
RewriteEngine On
RewriteRule ^search/([^/]+)?$ search2.php?search=$1 [QSA,NC]
RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)?$ search2.php?search=$1&$2=$3 [L,QSA,NC]
RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)?$ search2.php?search=$1&$2=$3&$4=$5 [L,QSA,NC]
RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)?$ search2.php?search=$1&$2=$3&$4=$5&$6=$7 [L,QSA,NC]
RewriteRule ^file/([^/]+)/([^/]+)/([^/]+)/([^/]+)?$ file2.php?$1=$2&$3=$4 [L,QSA,NC]
RewriteRule ^directory/([^/]+)/([^/]+)/([^/]+)/([^/]+)?$ directory2.php?$1=$2&$3=$4 [QSA,NC]
RewriteRule ^directory/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)?$ directory2.php?$1=$2&$3=$4&$5=$6 [L,QSA,NC]
答
你可以使用这个htaccess的
RewriteEngine on
RewriteCond %{THE_REQUEST} /search\.php\?search=([^\s]+)\s [NC]
RewriteRule^/search/%1? [L,R]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^./]+)/?$ /search.php?search=$1 [L]
什么其他参数? – Azhar
,这不起作用 – Azhar
请具体说明。什么工作没有? – starkeen