如何通过.htaccess将参数未赋值的URL重定向到404页面?

时间:2016-07-05 06:03:06

标签: .htaccess redirect joomla

如果reaquest参数没有指定值,即“/?qwerty”(其中“qwerty”表示无效参数,没有'='和任何值)我必须重定向,我有订单要在网站上重定向到404页面。我写了.htaccess文件(网站与Joomla合作)。你可以看到下面的片段:

RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [OR]
#Next string redirects all of requests with parameters
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_] [NC]
RewriteRule ^(.*)$ index.php [R=404,L]

但现在网站无法使用参数处理任何请求。我怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果缺少查询值参数,要重定向到404,您可以使用:

RewriteEngine on


RewriteCond %{QUERY_STRING} ^querty$ [OR]
RewriteCond %{QUERY_STRING} ^querty=$

RewriteRule ^$ - [R=404,L]

这会将example.com/?querty example.com/?querty= 重定向到 /404