我有多个域名指向一个 Apache2 虚拟主机:
ServerName domain1.com
ServerAlias domain2.com
ServerAlias domain3.com
为了始终显示相同的 url,我使用了这样的重写器:
RewriteCond %{HTTP_HOST} !^domain1.com [NC]
RewriteRule (.*) http://domain1.com/$1 [R=301,QSA,L]
我终于有了这样的别名:
Alias /niceurl /long/path/to/index.php
一切正常,除了当用户访问 domain2.com/niceurl/foo
时,浏览器中显示的 url 将是 domain1.com/path/to/index。 php/foo
,而不是 domain1.com/niceurl/foo
我应该补充一点,其他情况按预期工作,换句话说:
domain2.com/foo => domain1.com/foo
domain1.com/shorturl/bar => domain1.com/shorturl/bar
有没有聪明的方法来实现我想要的?感谢您的任何提示!
如果您有权访问文档根目录,则解决方案是创建符号链接(symbolic link):
ln -s /<path to application> /<document root>/foo
我是一名优秀的程序员,十分优秀!