在URL末尾添加一个后置反斜杠会导致错误500,即/forum/。当输入/forum时,/forum.php将按预期加载到浏览器上。在检查错误日志文件时,它将声明
由于可能的配置错误,请求超过了10个内部重定向的限制。如有必要,请使用“LimitInternalRecursion”来增加限制。使用“LogLevel调试”获取回溯。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(admin|user)($|/) - [L]
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^([A-Za-z0-9-_]+)$ /index.php?view=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?view=$1&page=$2 [L]如果我添加反斜杠'?/',/forum将加载索引页和/ /forum.php /将加载/forum.php
RewriteRule ^(.*)?/$ $1.php [L]我哪里出错了?提前谢谢你。
发布于 2016-08-05 18:24:53
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]如果存在请求的文件,此RewriteCond条件应防止重写。在您的示例中,/forum将被重写为/forum.php,然后将重写的请求返回给URL解析引擎,该引擎将发现/forum.php存在,并且将不再执行此规则。
当您请求/forum/时,它将被重写为不存在的/forum/.php,因此它将被重写为/forum/.php.php等。如果启用重写日志记录,则可以在错误日志中查看此内容。
快速的解决办法是用这个(把它放在RewriteBase /下面)去掉桂林斜线。
RewriteRule ^(.*)/$ /$1 [NC,L]https://stackoverflow.com/questions/38794702
复制相似问题