因此我有一个子域名 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