• ベストアンサー

RewriteRuleについて

RewriteRuleについて教えてください。 いままでhtmlだったのをphpに直しました。 通常であれば、 RewriteRule ^(.*)\.html$ /$1\.php [L,R=permanent] と書けば、自動的に***.html → ***.phpに変更になります。 これで問題はないのですが、 ディレクトによっては、すべてphp化していません。 特定のディレクトリ(hoge)にアクセスした場合のみ拡張子をphpに変更したい場合の書き方をお教えください。 以下では動きませんでした。 RewriteRule ^/hoge/(.*)\.html$ /$1\.php [L,R=permanent]

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.2

> RewriteRule ^/hoge/(.*)\.html$ /$1\.php [L,R=permanent] RewriteRule ^/hoge/(.*)\.html$ /hoge/$1\.php [L,R=permanent] なんじゃない。 .htaccess なら hoge ディレクトリに置いて RewriteRule ^(.*)\.html$ $1\.php [L,R=permanent] でいいはずです。

その他の回答 (1)

  • nerumako
  • ベストアンサー率84% (11/13)
回答No.1

特に制約条件がないようでしたら 特定のディレクトリ(hoge)ディレクトリ内に下記を書いた.htaccessを設置すれば(hoge)ディレクトリを含む以下の階層にしかRewriteRuleが適用されないと思いますが如何でしょうか。 RewriteRule ^(.*)\.html$ /$1\.php [L,R=permanent] (hoge)ディレクトリ以下の階層にRewriteRuleを影響させたくない場合は(hoge)ディレクトリ以下の各ディレクトリ内に下記を書いた.htaccess を設置をすることで、以下階層にルールが適用されなくなります。 RewriteEngine Off

関連するQ&A