如何使用htaccess重写新文件的基本目录

所以我有一个子域名sub1.example.com,映射到位于服务器根目录的一个目录:/ subdomains / sub1 / httpdocs /

我有另一个子域sub2.example.com,它被映射到一个不同的目录:/ subdomains / sub2 / httpdocs /

这是一个托pipe公司,不会让我改变Apache的conf文件。

我想要使​​用.htaccess文件来允许sub2目录中的文件处理sub2请求。 几乎就像一个符号链接。 我需要保留主机名。 因此, http://sub2.example.com/test.php将访问与http://sub1.example.com/test.php相同的文件,但主机名将被保留。

我在/subdomains/sub2/httpdocs/.htaccess中尝试了以下内容:

 RewriteEngine On
 RewriteRule ^(。*)$ / subdomains / sub1 / httpdocs / $ 1

但我是一个越来越内部的服务器错误。

有什么build议么?

^(.*)$模式捕获总是以/开头的URL的完整path组件,因此您应该删除最后一个/从您的RewriteRule 。 这是应该如何:

 RewriteEngine On RewriteRule ^(.*)$ /subdomains/sub1/httpdocs$1 

或者使模式匹配除第一个/之外的所有内容:

 RewriteEngine On RewriteRule ^/(.*)$ /subdomains/sub1/httpdocs/$1