У меня есть два каталога в моем корне: /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