我怎样才能让我的htaccess规则返回404时,无效的网址输入到地址栏。htaccess需要时返回500错误404
导致此
RewriteRule ^submit/([a-z]+)/([0-9]+)$ /submit?c=$1&i=$2 [L]
RewriteRule ^test/([a-z]+)/([0-9]+)/([0-9]+)$ /test?c=$1&i=$2&q=$3 [L]
两个规则,无论是规则做工精细输入正确的网址时,但是,比方说是最后的一个参数是不是一个数字,它返回一个500错误。
我怎样才能让这个如果这些规则不匹配,然后它会返回一个404
为了进一步澄清采取以下网址test/cooking/9/1
是有效的。那么submit/cooking/9
。
它返回500与URL不匹配的重写,如'测试/烹饪/ 9/1/1 ,
提交/ 0/0/0',我希望它返回404如果规则概述以上是不是匹配。
FULL .htaccess文件
# Turn on rewriting engine
RewriteEngine On
# Internally rewrite submit parameters
RewriteRule ^submit/([a-z]+)/([0-9]+)$ /submit?c=$1&i=$2 [L]
# Internally rewrite test parameters
RewriteRule ^test/([a-z]+)/([0-9]+)/([0-9]+)$ /test?c=$1&i=$2&q=$3 [L]
# Internally rewrite .php
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]
# Externally redirect .php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]
# Add default charset for files
AddDefaultCharset UTF-8
# G-zip deflate compression
<FilesMatch "\\.(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>
这两个规则不会导致错误,你有其他规则? –
是的,我会发布我的完整文件 – PEPLOVE
500是服务器错误。如果服务器遇到错误,那么它不能返回404响应。您需要修复错误,这可能不在这些行中。 – 2013-10-24 20:13:11