2016-10-03 2 views
1

Я хочу перенаправить URL-адреса, которые содержат? _escaped_fragment_ = другому порту. Для примера,htaccess перенаправление с одного порта на другой

http://localhost:8080/web/?_escaped_fragment_=/privacy 

в

http://localhost:8082/web/?_escaped_fragment_=/privacy 

Мой текущий Htaccess, как показано ниже.

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$ 
RewriteRule ^(.*)$ http://dev.dermveda.com:8082/$1 [r=301,nc] 

Проблема в том, если URL содержит web/, он не перенаправляет на мой новый порт. Но если он не имеет web/, он перенаправляет штраф. , например. URL-адреса, такие как http://localhost:8080/web/?_escaped_fragment_=/privacy, не перенаправлены. Но URL-адреса, такие как http://localhost:8080/?_escaped_fragment_=/privacy, перенаправлены. Мой вопрос: как мне реализовать htaccess для перенаправления URL-адресов с web/ на другой порт.

ответ

0

Проблема наличие этого условия:

RewriteCond %{REQUEST_URI} ^/$ 

Это условие означает перенаправление только если ваш URL является /, что означает только матч посадки.

Просто удалите это условие и есть ваше правило как:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^_escaped_fragment_= [NC] 
RewriteRule^http://dev.dermveda.com:8082%{REQUEST_URI} [R=301,L,NE] 
Смежные вопросы