Я хочу создать .htaccess
Перенаправление URL для определенного URL.
Redirect /photography/index.php https://www.example.com/photography-services/
но проблема в том, что мне нужны шаблоны URL, например:
https://www.example.com/photography/index.php?view=findphotos
по-прежнему работать.
В основном любые index.php
URL-адрес с переменной для перехода на страницу, но любой, кто попытается напрямую перейти на целевую страницу, будет перенаправлен на новую страницу. Это возможно?
Да, это возможно ...
Другими словами, вам нужен только конкретный URL /photography/index.php
(без строки запроса) для перенаправления на /photography-services/
.
Вам нужно использовать mod_rewrite, чтобы проверить пустую строку запроса.
Попробуйте следующее в верхней части .htaccess
файл в корне документа.
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^photography/index\.php$ /photography-services/ [R=302,L]
Если у вас уже есть mod_alias Redirect
(или RedirectMatch
), тогда вам может потребоваться преобразовать их в mod_rewrite, если возникнет конфликт.
Обратите внимание, что это 302 (временное) перенаправление. Измените его на 301 (постоянный) - если это намерение - только после того, как вы подтвердите, что он работает нормально (чтобы избежать проблем с кешированием).
Перед тестированием вам необходимо очистить кеш браузера.