我刚刚做了一个新的Ubuntu安装apache2和haproxy。 Haproxy监听80端口,3080端口,后者从外面隐藏。
我的问题是,当使用文件夹名称没有结尾的斜杠,例如example.com/some/folder apache自动redirect到相同的地址用斜杠,但也不正确的端口, example.com:3080/some/folder/ : example.com/some/folder some / folder / !
Apache文档向我build议,我的问题在于CanonicalName / Portconfiguration,但是这些的任何组合似乎都不起作用。 我可能会误解?
我的虚拟主机:
<VirtualHost *:3080> ServerName http://example.com:80 UseCanonicalName On UseCanonicalPhysicalPort On DirectoryIndex index.php index.html DocumentRoot /var/www/main <Directory /var/www/main> Options -Indexes Options -FollowSymLinks AllowOverride All <Files ~'^\.'> Order allow,deny Deny from all Satisfy all </Files> </Directory> </VirtualHost>
既不使用;
UseCanonicalName Off UseCanonicalPhysicalPort Off
HAProxy不会(通常)混乱发送的Host头,所以这个configuration应该有生成的正确的Location头redirect。 如果这没有帮助,那么提供在响应中发送的确切Location标题?
顺便说一句,你的ServerName可以被简化,并且可能不应该有你的虚拟主机没有监听的端口:
ServerName example.com