質量移動のための.htaccessファイルにワイルドカードを使用することが可能ですか?
-
20-09-2019 - |
質問
私は、私のウェブサイトを作り直しディレクトリのたくさんの名前を変更することになるだろう、と私の.htaccessは、それらのページのすべてのためにリダイレクト書くための簡単な方法を必要としています。私は、ファイルの非常に長いリストが含まれていない解決策を期待しています。そのまま私の.htaccessファイルが巨大である。
解決
あなたは mod_alias に使用することができますか<のhref = "HTTP :あなたのためのリダイレクト//httpd.apache.org/docs/2.2/mod/mod_rewrite.html」のrel = "nofollowをnoreferrer"> mod_rewriteのを。正規表現とパス接頭辞の両方で動作することができますmod_rewriteのは、正規表現とmod_aliasで動作します。
ここでは/foo/…
に/bar/…
を書き換えたいときのためのいくつかの例があります:
# mod_alias
# path prefix
Redirect 301 /foo /bar
# regular expression
RedirectMatch 301 ^/foo/(.*) /bar/$1
# mod_rewrite
RewriteEngine on
RewriteRule ^foo/(.*) /bar/$1 [L,R=301]
mod_aliasとmod_rewriteのは、その正規表現パターンのためのさまざまな要件を持っていることに注意してください。 mod_aliasは、常に完全なURLパスを必要としません。しかし、mod_rewriteをして、それはあなたが.htaccessファイル内、または、サーバの設定/仮想ホストセクションにそれを使用するかどうかによって異なります。 .htaccessファイルでは、(ドキュメントルートの場合だけ/
、/quux/
の場合には、それは/quux/
だ)ごとのディレクトリパスのプレフィックスなしでパターンを記述する必要があります。
所属していません StackOverflow