.htaccess RewriteRule должен маскировать URL, но вместо этого перенаправляет его - PullRequest
0 голосов
/ 25 марта 2019

Я делаю жестко запрограммированный список из нескольких удобных для Google "красивых URL-адресов", которые нужно переписать в реальные беспорядочные URL-адреса.Мы хотим, чтобы грязные URL-адреса оставались в маске - поэтому мы не хотим перенаправления 301.

Все красивые URL-адреса имеют вид domain.com / buy / item-имя , а целевые URL - это все страницы в корне домена (PHP с параметрами).

Наш тестовый пример не пройден:

domain.com / buy / test должен маска до domain.com / content.php? Do = 123

Поскольку / buy никогда не был настоящим каталогом, я его создали я использую в нем следующий файл .htaccess. (Это позволяет сохранить текущую работу .htaccess отдельно от корневого .htaccess и является моделью, которой мы могли бы следовать в других каталогах в будущем.)

Таким образом, все, что мы собираемся сделать, это обнаружить «test» (и другие фразы в / buy) и замаскировать это на корневую страницу /content.php?do=123.

Каталог / buyВесь файл .htaccess:

RewriteEngine On

RewriteRule ^test/?$ /content.php?do=123 [L]

Этот тест RewriteRule просто отлично подключается к месту назначения, но не маскирует .Браузер показывает нежелательный грязный URL.

Почему?Моя единственная мысль: может ли быть что-то в дефолтном .htaccess хостинговой компании на корневом уровне, что заставляет перенаправлять все RewriteRules?Если это вообще возможно, что мне там искать?

Спасибо за любые предложения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...