[WordPress] htaccess をリダイレクト クエリ文字列のホームページへ

スポンサーリンク

質問

私のサイトの 1 つは、google のようなページをインデックス開始:

www.domain.com/?index.php=en-id1&itemid=3711&view=21

彼らは数千ページが表示されるサイトを作る 1 日だけで、これらのいくつかのインデックス付き

以外のサイトをきれいにしようとしているセキュリティ問題を修正すること、google のしようとしてこれらのページをインデックスから削除します。それは完全に、URL からクエリ文字列を削除しますので、自身のホームページにこれらのページをリダイレクトしたい

書き換えを置くので、これはワードプレスのサイトですので、上記のワードプレス書き換えルール htaccess のような条件:

<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteCond %{QUERY_STRING} ^index.php*$
RewriteRule ^index\.php$ http://domain.com/%1 [R=301,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

どのように私は再で始まるすべてのページを直接することができます/ですか? 私のホームページだけに index.php=en id?

答え

これを試すことができます:

<IfModule mod_rewrite.c>
  RewriteEngine On 
  RewriteCond %{QUERY_STRING} ^index.php
  RewriteRule ^(.*)$ http://domain.com/$1? [R=301,L]
</IfModule>

“index.php”で始まる場合にだけクエリ文字列が削除されます。さらに、上記のスニペットは行きをトリングだったらどんなページにリダイレクトされます。すべての要求の場合は 常に ホームページにリダイレクトする”index.php”で始まるクエリを持ちます。次の微調整を行うことができます:

<IfModule mod_rewrite.c>
  RewriteEngine On 
  RewriteCond %{QUERY_STRING} ^index.php
  RewriteRule ^ http://domain.com/? [R=301,L]
</IfModule>

追加リソース:

htaccess 301 リダイレクト – 削除クエリ文字列 (QSA)

http://stackoverflow.com/questions/28910501/htaccess-redirect-query-string-to-homepage

スポンサーリンク

Leave a Reply