次のようなリンクRewriteRule
の301リダイレクト(.htaccess
サブドメインの下blog.example.com
)の正しい記述を手伝ってください。
から
https://blog.example.com/?source=tag_archive---------0-----------
にリダイレクト
https://example.com/blog/
私はこれらの行をで使用します.htaccess
:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^blog\.example\.com$ [NC]
RewriteCond %{QUERY_STRING} ^source=tag_archive---------0-----------(&.*)?$ [NC]
RewriteRule ^(.*)$ https://example.com/blog/ [R=301,NE,NC,L]
上記の例で私は得ました
https://example.com/blog/?source=tag_archive---------0-----------
しかし必要
https://example.com/blog/
(パーツなし?source=tag_archive---------0-----------
)
Apache 2.4以降では、QSD
(Query String Discard)フラグをRewriteRule
ディレクティブに追加する必要があります。
RewriteRule ^ https://domainname.com/blog/ [QSD,R=301,L]
(または、まだApache 2.2を使用し?
ている場合は、置換文字列の最後にaを追加します。事実上空のクエリ文字列です。?
それ自体はリダイレクト応答に含まれません。)
^(.*)$
(RewriteRule
パターン)-任意のURLパスに一致し、後方参照を使用していないため、これはに簡略化できます^
。
ここではNC
、NE
フラグは必要ありません。
ただし、上記のように、これによりすべてのURLパスがリダイレクトされます。特にリダイレクトhttps://blog.example.com/?source=tag...
のみを行う場合は、RewriteRule
パターンを^$
(空のURLパス)に変更します。例えば:
RewriteRule ^$ https://domainname.com/blog/ [QSD,R=301,L]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加