Apache 奇怪的拖尾斜杠问题

Apache 奇怪的拖尾斜杠问题,apache,redirect,Apache,Redirect,我在Apache服务器的document_root下有一个文件夹。 当我输入时,它不会重定向到,而是转到。请注意,域名后有两个斜杠 我找不到为这种重定向设置的任何mod rewrite规则。有人能想出其他可能的原因吗 另外,在Apache中,从重定向到由什么来完成?(注意“帮助”是真实的文件夹,没有名为“帮助”的文件) 谢谢 第一个猜测是,应用程序配置的基本URL有一个条目,在您的情况下,它以/结尾,导致应用程序的内部路由系统添加额外的斜杠 答复询问者的评论: 查看.htaccess文件。 如果

我在Apache服务器的document_root下有一个文件夹。 当我输入时,它不会重定向到,而是转到。请注意,域名后有两个斜杠

我找不到为这种重定向设置的任何mod rewrite规则。有人能想出其他可能的原因吗

另外,在Apache中,从重定向到由什么来完成?(注意“帮助”是真实的文件夹,没有名为“帮助”的文件)


谢谢

第一个猜测是,应用程序配置的基本URL有一个条目,在您的情况下,它以
/
结尾,导致应用程序的内部路由系统添加额外的斜杠

答复询问者的评论:

查看.htaccess文件。 如果它看起来像这样(顺便说一下,这是WordPress安装默认使用的):


重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
然后它将尝试从实际目录加载
/help

但是如果它不包含
-f
-d
行,它将通过应用程序入口点加载每个请求,无论请求的项是否存在于文件系统中。

最后我发现这是Apache的一个bug。

谢谢。但这没有帮助。请注意,“帮助”是一个真实的文件夹,所以我们不应该期望任何重定向。注释不能做换行吗?烦人的更新了初始答案。我认为“!-f”表示不是文件,“!-d”表示不是目录。“help”是目录,因此不应用重写规则。无论如何,我们不使用wordpress。
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>