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

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

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

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

它位于一家托管公司,不允许我更改 Apache 配置文件。

我想使用 .htaccess 文件允许位于 sub1 目录中的文件处理 sub2 请求。几乎像符号链接一样。我需要保留主机名。所以http://sub2.example.com/test.php将访问与http://sub1.example.com/test.php,但主机名将被保留。

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

重写引擎开启
重写规则 ^(.*)$ /subdomains/sub1/httpdocs/$1

但我收到了内部服务器错误。

有什么建议么?

答案1

^(.*)$模式捕获 URL 的完整路径部分,该部分始终以 开头/,因此您可能应该从 中删除最后一个 / RewriteRule。它应该是这样的:

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

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

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

相关内容