0

?URLに410ステータスコードがあれば送信したいのですが。サイトはSEO対応のURLでのみ機能するため(Like www.domain.com/seo-enabled-urls)。

StatckOverflowコミュニティのサポートにより、この301リダイレクトは完全に機能しました。

RewriteBase /
RewriteRule ^romance-package-two\.html$ http://www.domain.com/wedding-champagne [QSA,NC,R=301,L]

同様に、Google(検索エンジンなど)が完全に削除されたことを通知する410メッセージコードを追加して、SEOの不明なURLや見つからないURLで問題が発生しないようにします。

URLが次のようになっている場合

www.domain.com/seo-enabled-urls?param1=val1&param2=val2

同じURLを維持したいのですが、このような410コードだけを使用します

RewriteCond %{query_string} ^(.*&)?$ [NC]
RewriteRule ^1$  same url code [QSA,NC,R=410,L]

私を助けてください。

4

2 に答える 2

4

HTTP 410コードでリダイレクトすることはできません-410は、要求されたページが完全に失われ、置き換えがないことを意味します。

410なくなった

要求されたリソースはサーバーで使用できなくなり、転送アドレスは不明です。この状態は永続的であると見なされると予想されます。リンク編集機能を備えたクライアントは、ユーザーの承認後にRequest-URIへの参照を削除する必要があります。サーバーが状態が永続的であるかどうかを認識していないか、判断する機能がない場合は、代わりにステータスコード404(見つかりません)を使用する必要があります。特に明記されていない限り、この応答はキャッシュ可能です。

-http ://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11


HTTP 301の対応する定義は、それがすでにまさにあなたが望んでいたものであることを示しています。

301永久に移動

要求されたリソースには新しい永続的なURIが割り当てられており、このリソースへの今後の参照では、返されたURIの1つを使用する必要があります。リンク編集機能を備えたクライアントは、可能であれば、Request-URIへの参照をサーバーから返された1つ以上の新しい参照に自動的に再リンクする必要があります。特に明記されていない限り、この応答はキャッシュ可能です。

-http ://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2

于 2011-08-20T03:25:43.997 に答える
4

受け入れられた答えは、少なくともmod_rewriteが410GONEターゲットをサポートしているApache2.0までは正しくありません。

'gone | G'(強制的にURLを削除)これにより、現在のURLが強制的に削除されます。すぐに410(GONE)のHTTP応答が返されます。このフラグを使用して、存在しなくなったページを削除済みとしてマークします。

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteruleを参照してください)

つまり、上記のようなルールは単純に次のようになります。

RewriteCond %{query_string} ^(.*&)?$ [NC]
RewriteRule ^1$ - [G]
于 2013-10-17T19:26:59.250 に答える