web-dev-qa-db-ja.com

サブディレクトリ内のすべてのページを新しいページにリダイレクトします

ウェブショップをやり直した後、特定のディレクトリ内のすべてのURLを新しいページにリダイレクトする必要があります。

example.com/shop/...で始まるすべてのURLは、example.com/products/にあるページにリダイレクトする必要があります。

リダイレクトに this wordpress plugin を使用していますが、処理できるかどうか、またはhtaccessファイルなどを編集する必要があるかどうかはわかりません。

.htaccess:

# 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]
RewriteRule ^shop/ /products/ [R=302,L]
</IfModule>

# END WordPress
3
Jeppe Bech

そのWordPressプラグインはこれを処理できるはずですが、それ以外の場合は.htaccessの1行にすぎません(これも効率的です)。

RewriteRule ^shop/ /products/ [R=302,L]

上記のディレクティブは、RewriteEngineディレクティブとRewriteBaseディレクティブの後に指定する必要がありますが、beforeその他のWordPressのようなものです。

これにより、/shop/<anything>/products/にリダイレクトされます。

302(一時的)リダイレクトを301(永続的)に変更します(正常に機能していることが確認できたら)。一時リダイレクトはブラウザによってキャッシュされないため、テストが簡単です。

2
MrWhite