2017-02-21 142 views
0

使我有一些網址,我想重寫和重定向重寫和重定向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] 

回答

0

你可以使用這個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] 
+0

什麼其他參數? – Azhar

+0

,這不起作用 – Azhar

+0

請具體說明。什麼工作沒有? – starkeen