我在Apache服务器的document_root下有一个文件夹。 当我输入http://www.example.com/help时,它不会重定向到http://www.example.com/help/,而是转到http://www.exmaple.com//help/。请注意,域名后面有两个斜杠。
我找不到为这种重定向设置的任何mod重写规则。谁能想到任何其他可能的原因?
另外,在Apache中,从http://www.example.com/help重定向到http://www.example.com/help/是由什么做的? (注意'help'是真实文件夹,并且没有名为'help'的文件。)
谢谢!
答案 0 :(得分:2)
最后我发现这是Apache的一个错误。 https://issues.apache.org/bugzilla/show_bug.cgi?id=51982
答案 1 :(得分:0)
首先猜测你的应用程序配置有一个基本URL的项目,在你的情况下,它以/
结束,导致应用程序的内部路由系统添加额外的斜杠。
回复提问者评论:
查看.htaccess文件。 如果它看起来像这样(顺便说一句,这是默认情况下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>
然后它将尝试从实际目录/help
加载。
但如果它不包含!-f
和!-d
行,它将通过应用程序入口点加载每个请求,无论请求的项目是否存在于文件系统中。