Apache mod_rewrite を使用してディレクトリ全体を書き換えるにはどうすればよいでしょうか?

Apache mod_rewrite を使用してディレクトリ全体を書き換えるにはどうすればよいでしょうか?

このURL/ディレクトリmake/lores/some/をポイント/マップする必要があります。また、拡張機能login/ を書き換える必要があります。.php.html

クライアントがexample.com/make/lores/some/login.htmlサーバーに入力するとprocess example.com/login/login.php、 .

以下のようなルールがありますが、問題はログイン ディレクトリの下の他のファイル (例:/login/images/one.pngなど) が処理/書き換えられず、404 エラーが発生することです。

RewriteRule     ^(.*)\.htm$     login/index.php [NC]

答え1

おそらく次のようになります:

RewriteEngine on
RewriteRule   ^/make/lores/some/(.+)  http://example.com/login/$1      [R,L]

これにより、新しい URL への書き換えが処理されます。拡張子を から に修正するには、.html2.php番目のルールを使用できます。

RewriteRule   ^/login/(.+)\.htm$      http://example.com/login/$1.php  [R,L]

参考文献

関連情報