1
reaquestパラメータが指定されていない場合、つまり「/?qwerty」(「qwerty」は「=」および任意の値のない無効なパラメータを意味します)がリダイレクトされなければならない場合、サイト上で404ページにリダイレクトするよう指示しました。私は.htaccessファイル(サイトはJoomlaで動作します)を書きました。あなたは以下の断片見ることができます:パラメータが.htaccess経由で値を持たないURLを404ページにリダイレクトする方法はありますか?
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]
をしかし、今サイトでは、パラメータを持つすべての要求を処理できません。どうすればこの問題を解決できますか? 404
にリダイレクトする
ありがとうございますが、パラメータ名をリダイレクトする必要があります。あなたは私にアイディアを与えました。以下のコードは私が望むように動作します: 'RewriteCond%{QUERY_STRING}^[a-zA-Z0-9 _] + $ [OR] RewriteCond%{QUERY_STRING}^[a-zA-Z0-9_ ] + = $ [NC] RewriteRule^$ - [R = 404、L] ' – andreytemn