URL重写.htaccess导致内部500错误

时间:2015-08-04 20:46:26

标签: apache .htaccess mod-rewrite http-status-code-404

解决:我一直有一个.htaccess重写问题,极少数情况导致我网站上出现内部500错误。

我在.htaccess中设置了重写规则以重定向 http://mysite123.com/churches/ANY_NUMBER_HERE/any_name_herehttp://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.

0 个答案:

没有答案