我正在使用apache托管的网站。用户可以通过www.hostname.com/~username。
以默认方式访问其网站空间我正在尝试更改为username.hostname.com,因为它更清洁一点。如果用户试图访问旧的www.hostname.com/~username地址,我只想将它们重定向到新的地址。我不知道是否使用mod_alias或mod_rewrite规则?
哪一个更合适?
答案 0 :(得分:1)
mod_alias
提供Redirect
和RedirectMatch
指令。
“将一个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/