我最近发现了一个错误,当我转到example.com/phpmyadmin
或example.com/index
时,会删除尾部斜杠,因此它会调用example.comphpadmin
或example.comindex
。斜线后的所有内容都会发生这种情况。但如果我有像example.com/index/home
那样的第二个尾部斜线,它就能完美运行。
我的网站配置中有一个从http到https的重定向,运行apache2.4。
我的配置:
<VirtualHost *:80>
ServerName example.net
Redirect permanent / https://example.net
</VirtualHost>
我的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
# !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
# slashes.
# If your page resides at
# http://www.example.com/mypage/test1
# then use
# RewriteBase /mypage/test1/
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(phpmyadmin|index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
我环顾四周但没找到答案。也许我的配置有问题,有人可以帮助我。
答案 0 :(得分:0)
考虑到由于RewriteCond,这个RewriteRule甚至不能执行/ phpmyadmin,并且RewritRule没有重定向,问题是你在发送所有的所有未知的资源。
或者,您还没有向我们展示实际配置。
答案 1 :(得分:0)
我是愚蠢的,只需要清除缓存以使其正常工作。我不知道究竟什么不起作用,但我在发布这篇文章之前所做的更改确实有效,只是缓存仍然有错误的版本。