У меня есть два каталога в моем корне: /dev
и /live
.
Все содержимое внутри этих каталогов имеет относительные пути, такие как /css/style.css
или /js/home.js
.
Я хочу, чтобы изменить корневой каталог с помощью htaccess, чтобы относительные пути стали /live/css/style.css
т. Д. Или /dev/css/style.css
зависимости от того, какую версию сайта я использовал.
Я попытался использовать следующий код в .htaccess, находящемся в каталоге /live
:
RewriteEngine on RewriteBase /live/
Я также попытался использовать RewriteBase /public_html/live/
.
Но пути контента по-прежнему остаются http://domain.com/css/style.css
а не http://domain.com/live/css/style.css
когда я просматриваю сайт.
У кого-нибудь есть идеи?
Спасибо.
EDIT >> Извините, я должен объяснить, что мой root htaccess имеет следующие правила, указывающие на два каталога:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC] RewriteCond %{HTTP_HOST} ^((www\.)?([az]+)\.)domain\.com [NC] RewriteRule ^((www\.)?([az]+)\.)domain\.us$ /live/index.php?tag=%3 [L,P] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC] RewriteCond %{HTTP_HOST} ^dev.((www\.)?([az]+)\.)domain\.com [NC] RewriteRule ^((www\.)?([az]+)\.)domain\.us$ /live/index.php?tag=%3 [L,P]
RewriteBase
позволяет исправить проблемы с RewriteBase
URL-адресов в пути к файлам и обратно. Это не то, для чего вы его используете. Используйте стандартный RewriteRule
RewriteCond %{REQUEST_URI} !^/live RewriteRule ^(/?)(.*) /live/$2