如果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]
但现在网站无法使用参数处理任何请求。我怎么解决这个问题?
答案 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
。