Htaccessで410コードをすべてのリンクに送信できますが、一部のリンクに送信できないものはありますか?
例:
このURLを410にしたいと思います(リストは約40kリンクです)
www.example.com/c1
www.example.com/c2
www.example.com/c3
www.example.com/c4
www.example.com/g1
www.example.com/g2
www.example.com/g3
www.example.com/g4
and so one....
しかし、このリンクはc
またはg
で始まる410であってはなりません。
好む:
www.example.com/categories/
www.example.com/concreate/
www.example.com/colombs/
現在、私は.htaccess
ファイルでこのコードを使用していますが、上記のリンクにも410を指定しています。
RewriteEngine On
RewriteCond %{QUERY_STRING} c
RewriteRule .* - [G,L]
ErrorDocument 410 default
どんな助けでも大歓迎です。
RewriteCond %{QUERY_STRING} c
ここでQUERY_STRING
を参照している理由がわかりませんか? URLにクエリ文字列が含まれていないようですか?
ブロックするURLは、c
またはg
で始まり、その後に数字が続くように見えます(1桁以上と仮定します)。その場合は、次のようなものを試してください。
RewriteEngine On
RewriteRule ^[cg]\d+$ - [G]
L
にはG
フラグは必要ありません。
user82217はmod_rewriteを使用して優れたソリューションを提供しました。 mod_alias を使用して実行することもできます。
RedirectMatch gone "/[cg]\d+$"