Tat*_*nen 5 alias serveralias apache-2.2
目前,我有一个 VirtualHost 定义如下:
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias otherdomain.com
DocumentRoot /var/www/project/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
如何制作仅影响otherdomain.com
域的别名:
Alias /sub /var/www/other
Run Code Online (Sandbox Code Playgroud)
以便:
http://otherdomain.com/sub -> /var/www/other
http://mydomain.com/sub -> /var/www/project/sub
Run Code Online (Sandbox Code Playgroud)
有问题的 VirtualHost 实际上并没有那么简单,所以我不想为此单独制作 VirtualHost。我可以在 VirtualHost 中使用任何条件表达式或类似的东西吗?类似的东西:
<VirtualHost *:80>
...
<If ServerName=otherdomain.com>
Alias /sub /var/www/other
</If>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
小智 5
不,您不能在 If 中使用别名。
If "%{HTTP_HOST}
Run Code Online (Sandbox Code Playgroud)
与 Alias 不兼容,使用它会导致 Apache 无法启动并输出错误消息:
Alias not allowed here
Run Code Online (Sandbox Code Playgroud)
您应该使用相应的名称创建另一个 VirtualHost,并使用您的别名进行配置。
以下是 Apache 文档的相关部分:
http://httpd.apache.org/docs/trunk/mod/core.html#if
和
http://httpd.apache.org/docs/trunk/expr.html
在这种情况下,类似这样的事情应该有效:
<If "%{HTTP_HOST} == 'example.com'">
Alias /sub /var/www/other
</If>
Run Code Online (Sandbox Code Playgroud)
我相信您需要 Apache 2.2 或更高版本才能实现“If”功能。
归档时间: |
|
查看次数: |
2529 次 |
最近记录: |