dポイントプレゼントキャンペーン実施中!

RewriteRuleについて教えてください。
いままでhtmlだったのをphpに直しました。

通常であれば、
RewriteRule ^(.*)\.html$ /$1\.php [L,R=permanent]
と書けば、自動的に***.html → ***.phpに変更になります。

これで問題はないのですが、
ディレクトによっては、すべてphp化していません。
特定のディレクトリ(hoge)にアクセスした場合のみ拡張子をphpに変更したい場合の書き方をお教えください。

以下では動きませんでした。
RewriteRule ^/hoge/(.*)\.html$ /$1\.php [L,R=permanent]

A 回答 (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]
でいいはずです。
    • good
    • 0

特に制約条件がないようでしたら


特定のディレクトリ(hoge)ディレクトリ内に下記を書いた.htaccessを設置すれば(hoge)ディレクトリを含む以下の階層にしかRewriteRuleが適用されないと思いますが如何でしょうか。
RewriteRule ^(.*)\.html$ /$1\.php [L,R=permanent]

(hoge)ディレクトリ以下の階層にRewriteRuleを影響させたくない場合は(hoge)ディレクトリ以下の各ディレクトリ内に下記を書いた.htaccess を設置をすることで、以下階層にルールが適用されなくなります。

RewriteEngine Off
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!