htaccess RewriteBase

时间:2011-01-30 16:43:52

标签: php .htaccess

我的根目录中有两个目录:/dev/live

这些目录中的所有内容都有相对路径,例如/css/style.css/js/home.js

我希望能够使用htaccess更改根目录,以便相对路径变为/live/css/style.css等或/dev/css/style.css,具体取决于我使用的网站版本。

我尝试在位于/live目录中的.htaccess中使用以下代码:

RewriteEngine on
RewriteBase /live/

我也尝试过使用RewriteBase /public_html/live/

但是,当我查看网站时,内容路径仍然是http://domain.com/css/style.css而不是http://domain.com/live/css/style.css

有没有人有任何想法?

谢谢。

编辑>> 对不起,我应该解释一下,我的根htaccess有以下规则指向两个目录:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTP_HOST} ^((www\.)?([a-z]+)\.)domain\.com [NC]
RewriteRule ^((www\.)?([a-z]+)\.)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\.)?([a-z]+)\.)domain\.com [NC]
RewriteRule ^((www\.)?([a-z]+)\.)domain\.us$ /live/index.php?tag=%3 [L,P]

1 个答案:

答案 0 :(得分:10)

RewriteBase可让您解决有关如何将网址转换为文件路径以及再次返回的问题。这不是你用它的原因。使用标准RewriteRule

RewriteCond %{REQUEST_URI} !^/live
RewriteRule ^(/?)(.*) /live/$2