2017-02-21 24 views
0

У меня есть несколько 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] 

ответ

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

 Смежные вопросы

  • Нет связанных вопросов^_^