基于 HTTP_HOST 的 Mod Rewrite 不会改变浏览器地址

基于 HTTP_HOST 的 Mod Rewrite 不会改变浏览器地址

我不太清楚为什么这不能正常工作。我将sub.domain.com其内容放在 中/sub_folder,并且 sub.domain.com 列在 的 ServerAlias 指令中domain.com。两者的 DNS 都指向同一个 IP。在 domain.com 的 vhost 中,我还进行了以下重写以将其发送到子域的正确文件夹:

RewriteCond %{HTTP_HOST} sub\.domain\.com
RewriteRule (.*) http://domain.com/sub_folder

这可行,但系统要求我使浏览器地址不从 更改为sub.domain.comhttp://domain.com/sub_folder我尝试将其更改为:

RewriteRule (.*) /sub_folder [L]

并尝试过

RewriteRule (.*) /sub_folder [PT]

两者都出错了。我尝试在两者上添加 index.html,但行为没有变化(所以我假设 Directory Index 会处理它)。看起来第一个会破坏页面的一些包含,而另一个会导致重定向循环。语法是否正确,适合我试图在两者上完成的操作?RHEL 6 httpd 2.2.15

答案1

我会在 Apache 中创建另一个虚拟主机,而sub.domain.com不是使用 Rewrite hack。这样更简单、更强大。

因此,对于其他虚拟主机条目,您输入主机名sub.domain.com并将文档根目录放入sub_folder

然后删除该ServerAlias条目。

答案2

(我无法评论,因为需要声誉> 50)

两者都会出现错误。

什么错误?404?304?日志中的错误消息?

相关内容