.htaccess: перенаправление без изменения URL-адреса
Я хотел бы, чтобы URL-адрес перенаправлялся на другую страницу в том же домене, но без изменения URL-адреса браузера. Поэтому страница www.mydomain.co.uk/tour/
должна указывать на www.mydomain.co.uk/
, но без изменения.
Я рассмотрел много похожих вопросов в Stackoverflow, но все решения, похоже, меняют URL-адрес для меня.
CODE:
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} ^/tour
RewriteRule ^(.*)$ http://www.mydomain.co.uk/ [L]
Ответы
Ответ 1
Поскольку вы предоставляете полный URL-адрес в своем правиле перезаписи, он автоматически рассматривается как перенаправление. Замените полный URL-адрес только косой чертой, и он должен работать, то есть:
RewriteCond %{REQUEST_URI} ^/tour
RewriteRule ^(.*)$ / [P]
Вы можете даже сократить его до:
RewriteEngine on
RewriteRule ^/?tour.* / [P]
Ответ 2
1- Используйте [P] вместо [L]
2- Используйте $ s в конце второй строки, чтобы получить набор перенаправлений URL-адресов, а также удалите/в конце.
Код будет выглядеть так:
RewriteCond %{REQUEST_URI} ^/tour
RewriteRule ^(.*)$ /$1 [P]
которая обрабатывает больше, чем индексная страница каталога туров.
Ответ 3
Попробуйте изменить [L] на [P], и я предполагаю, что он будет работать.