Назад | Перейти на главную страницу

RewriteRule сохраняет путь в средах

Я пытаюсь придумать некоторые правила перенаправления, которые будут работать в моем локальном рабочем каталоге и продукте. Проблема в том, что мой локальный dev env работает через localhost / exp, а производство работает из корня домена www.lorem.com.

Делаю:

RewriteEngine On
RewriteCond ^rec.php /core/rec [R=301,L]

Работает на производстве, не беспокойтесь, но на моем локальном он перенаправляет на: "localhost / core / rec", где, как я хочу, это должно быть "localhost / exp / core / rec"

Я бы предпочел не жестко закодировать "exp" там, пока я нашел единственный способ сделать это - иметь отдельные правила для каждой среды, я мог бы заставить его работать на моем локальном компьютере, используя:

RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)/exp/(.*)
RewriteRule ^rec.php /exp/core/rec [R=301,L]

Оцените любую помощь по этому поводу. Спасибо!

Приставьте к своим RewriteRule (s) RewriteCond, соответствующий любому из «внутренних компонентов сервера». См. Полный список внутреннего устройства сервера Вот.

НАЗВАНИЕ СЕРВЕРА - это тот, который кажется мне лучшим для использования, поэтому, например, ваш он будет использовать этот (дополнительный) префикс к вашему RewriteRule:

RewriteCond %{SERVER_NAME} localhost

или для другого, кроме localhost:

RewriteCond %{SERVER_NAME} !localhost