2013-02-15 4 views
19

Я бы хотел, чтобы URL-адрес перенаправлялся на другую страницу в том же домене, но без изменения браузера URL-адреса. Поэтому страница www.mydomain.co.uk/tour/ должна указывать на www.mydomain.co.uk/, но без изменения..htaccess: перенаправление без изменения URL-адреса

Я рассмотрел много подобных вопросов в Stackoverflow, но все решения, похоже, меняют URL-адрес для меня.

КОД:

RewriteEngine On 
Options +FollowSymLinks 
RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$ http://www.mydomain.co.uk/ [L] 
+1

Попробуйте удалить домен. Также попробуйте использовать '[P]' –

+0

Удивительное добавление [P] к приведенному ниже ответу –

ответ

18

Поскольку вы предоставляете полный URL в правиле переписывания оно автоматически рассматривается как перенаправление. Заменить полный URL только с косой черты, и он должен работать, а именно:

RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$/[P] 

Вы можете даже сократить его до:

RewriteEngine on 
RewriteRule ^/?tour.*/[P] 
+0

Вы должны сообщить о рисках включения mod_proxy, например, Apache здесь http://httpd.apache.org/docs/current/ mod/mod_proxy.html – user2602152

-4

Попробуйте просто изменить [L] на [P] и я предположим, что это сработает.

+8

Разве это не то, что уже принятый ответ, который он задал, просто сказал? –

1

1- Использовать [P] вместо [L] 2- Использовать $ s в конце второй строки, чтобы иметь набор перенаправлений URL-адресов и удалить их в конце. код будет выглядеть следующим образом:

RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$ /$1 [P] 

который лечит более индексной страницы тура папки.

+0

Это точно так же, как ответ [Michal M] (http://stackoverflow.com/questions/14895980/htaccess-redirect-without-changing-url/14896042#14896042) ... –

+0

Пожалуйста, повторите проверку, знак $ 1 там! –

+0

Ах, моя ошибка. Я не заметил изменений. Чтобы никто другой не допустил такую ​​же ошибку, я рекомендую отредактировать ваш ответ, чтобы упомянуть существующий ответ Михалля и почему у вас разные –

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