apache备用端口和带有端口重写的mod_dir尾部斜杠

时间:2014-09-05 16:04:32

标签: apache mod-rewrite redirect

我让Apache监听同一系统(node.js)上的代理后面的备用端口(8000),它正在侦听端口80.一切正常,但Apache中的mod_dir默认会重写尾随斜杠,并将端口附加到位置标题中。

换句话说,我能够很好地加载Apache网页,但当我点击页面中指向目录的链接时,我从Apache获得301,其位置标题如下:

地点:www.example.com:8000 / _my_path /

Apache只是无辜地分发端口,因为它不知道更好,但我需要它来停止添加端口。 mod_rewrite似乎是正确的方法,但我不确定以下内容:

  1. 首先触发,mod_rewrite或mod_dir?
  2. 我是否需要禁用mod_dir,然后尝试使用mod_rewrite来补偿所有这些行为?
  3. 我错过了更好的方法吗?
  4. 服务器版本:Apache / 2.2.22(Debian)

1 个答案:

答案 0 :(得分:0)

将以下内容添加到我的指令中解决了问题:

RewriteEngine On  RewriteCond $ 1!/ $  RewriteCond%{REQUEST_FILENAME} / -d  RewriteRule(。+)http://www.example.com/ $ 1 / [R = 301,L]

我会发布我收集到这些信息的链接,但显然我没有足够的声誉" ...:/