mod_rewrite'添加路径信息后缀:'

Chr*_*len 4 apache mod-rewrite

为什么我的mod_rewrite这样做?

add path info postfix: /home/mobelluk/public_html/about.php -> /home/mobelluk/public_html/about.php/
Run Code Online (Sandbox Code Playgroud)

这导致一切上不必要的尾随斜线.

我已经禁用了所有的.htaccess规则,因此它们已经不合时宜了.

eco*_*tin 19

显然在某些情况下mod_rewrite重新附加修复后部分存在问题 https://issues.apache.org/bugzilla/show_bug.cgi?id=38642

问题:

如果.htaccess文件中的多个RewriteRules匹配,则PATH_INFO的不需要的副本可能会在URI的末尾累积.

如果您使用的是Apache 2.2.12或更高版本,则可以使用DPI标志来阻止此 http://httpd.apache.org/docs/2.2/rewrite/flags.html


Gra*_*ner 2

是否有可能新服务器已加载mod_dir,而DirectorySlash On旧服务器未加载,从而导致此问题?

(请注意,这DirectorySlash On是默认的 ifmod_dir已加载并且没有任何内容覆盖它)