解决:我一直有一个.htaccess重写问题,极少数情况导致我网站上出现内部500错误。
我在.htaccess中设置了重写规则以重定向 http://mysite123.com/churches/ANY_NUMBER_HERE/any_name_here 至 http://mysite123.com/churches.php?churchid=ANY_NUMBER_HERE,但最终用户仍会看到http://mysite123.com/churches/ANY_NUMBER_HERE/any_name_here
除非他们输入http://mysite123.com/churches/ANYTHING_BUT_NUMBERS_HERE或者输入的数字没有尾部斜杠,否则它的效果非常好。
这是我的重写规则:
miniconda
基本上,有没有一种方法可以更改我的规则/正则表达式,如果他们键入任何字母,特殊符号或没有尾部斜线的数字,将htacess指向404错误页面?我需要避免500内部服务器错误,它伤害了我的SEO
编辑:我在服务器日志中收到此错误代码:
RewriteRule ^churches\/([0-9]+)\/.*$ /churches.php?church=$1 [L]
编辑#2:我通过添加停止循环的重写规则解决了这个问题:
[Tue Aug 04 20:48:44 2015] [error] [client 24.107.131.201] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.