从子文件夹运行网站

时间:2012-07-22 17:43:16

标签: apache .htaccess mod-rewrite url-rewriting

我有一些使用共享主机托管的网站。 “主域”托管在/public_html目录中。我想要做的是从/public_html/domain.com运行它。这是我的/public_html/.htaccess文件:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/domain.com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domain.com/$1

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ domain.com/index.html [L]

通常情况下这很有效,除非我尝试访问目录,例如http://www.domain.com/test,我将其重定向到http://www.domain.com/domain.com/test。为了澄清,应该没有重定向,服务器应该只是从指定的子目录服务该站点。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用RewriteBase

RewriteEngine on
RewriteBase /domain.com/
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/domain.com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domain.com/$1

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ domain.com/index.html [L]