Apache mod_rewrite,后缀基于前缀的托管

时间:2014-10-15 23:11:10

标签: apache mod-rewrite mod-alias

我正在使用apache托管的网站。用户可以通过www.hostname.com/~username。

以默认方式访问其网站空间

我正在尝试更改为username.hostname.com,因为它更清洁一点。如果用户试图访问旧的www.hostname.com/~username地址,我只想将它们重定向到新的地址。我不知道是否使用mod_alias或mod_rewrite规则?

哪一个更合适?

1 个答案:

答案 0 :(得分:1)

mod_alias提供RedirectRedirectMatch指令。

  

“将一个URL或一类URL简单重定向到   在其他地方,应该使用这些指令来完成   比RewriteRule。 RedirectMatch允许您包含常规   在重定向标准中表达,提供了许多   使用RewriteRule的好处。“

     

“例如,/ one目录中的所有URL都必须重定向到   http://one.example.com/,或者也许所有的http请求都必须是   重定向到https。 Redirect指令可以更好地处理这些情况。   请记住,重定向会保留路径信息。也就是说,a   重定向到URL / one还将重定向其下的所有URL,例如   如/one/two.html和/one/three/four.html“

     

[source]

您可以使用以下内容:

RedirectMatch /~([^/]+) http://$1.localhost/