Apache:如何为路径提供自己的URL?

时间:2011-08-26 22:29:49

标签: apache mod-rewrite

这应该很简单,但我无法让它发挥作用。

我的网站中有一个路径,如下所示:www.mysite.com/coolstuff。当用户键入www.coolstuff.com时,我希望Apache转到www.mysite.com/coolstuff

可能的复杂情况是coolstuff不在docroot中,但我使用别名指向其目录。所以coolstuff并不是mysite.com docroot中的子目录。我希望这与我的问题无关。

1 个答案:

答案 0 :(得分:0)

很简单,您只需要为www.coolstuff.com设置一个单独的虚拟主机。如果您使用基于名称的虚拟主机(最常见的配置,您在配置文件中的某处有NameVirtualHost *:80指令),您可以这样做:

<VirtualHost *:80>
    ServerName www.coolstuff.com
    ServerAlias coolstuff.com
    RedirectPermanent / http://www.mysite.com/coolstuff/
</VirtualHost>

这会将浏览器重定向到www.mysite.com/coolstuff,即用户会知道他们会被发送到其他网址。如果您不想拥有它,那么将coolstuff目录作为自己的文档根目录可能会更容易:

<VirtualHost *:80>
    ServerName www.coolstuff.com
    ServerAlias coolstuff.com
    DocumentRoot /path/to/coolstuff
</VirtualHost>