2012-07-09 91 views
1

是否有可能使用apache htaccess文件镜像导演内容?我使用cPanel进行虚拟主机托管,因此没有root访问权限,并且希望避免在我的托管帐户中拥有相同文件的两个副本。我所试图做的是有例如两个子域:镜像目录与Apache htaccess

files.abc.com files.123.com

abc.com和123.com将独立网站与differen't HTML,但是当你访问文件子域时,它们将是相同的。我想让文件子域显示相同的目录,如果你明白我的意思?将不胜感激任何其他建议如何实现这一点。提前致谢。

回答

1

这取决于你如何拥有2域设置和你的主机。在不知道任何细节的情况下完成此操作的一种直接方法是使用内部代理将其指向另一个,方法是将其放入其他域的文件(其中放置files.abc.com):

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^files\.abc\.com$ [NC] 
RewriteRule ^(.*)$ http://files.123.com/$1 [P,L] 

在这里,我们有文件坐在主机files.123.com,这意味着我们可以去http://files.123.com/some/file.txt。但有了这个规则,你可以去http://files.abc.com/some/file.txt,它会内部代理到123.com主机。

如果两者域指向同一个主机,并说,你要么规则或子域的cPanel用于设置123.com:

RewriteCond %{HTTP_HOST} ^files\.123\.com$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /here-are-where-123.com-files-really-are/$1 [L] 

或者在一些的cPanel相当于设置。无论哪种方式,请求files.123.com由目录/here-are-where-123.com-files-really-are/服务。您只需包含一组规则以适应其他文件域,然后将它们放在文档根目录中的.htaccess文件中:

RewriteCond %{HTTP_HOST} ^files\.abc\.com$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /here-are-where-123.com-files-really-are/$1 [L]