2009-04-23 16 views
1

URLに自動的に追加されるので、.php拡張子を入力せずに自分のウェブサイト上の任意のページに行くための書き換えを思いつきました。書き換えを行うと.php拡張子が削除されますか?

ルールがある:(+ W \)のRewriteRule ^/$ /$1.php

は、それはあなたが私のインデックスに入力する何かを取り、あなたがhttp://sampardee.com/indexに入れることができますので、それまでの.php追加し、それを引き上げます? index.phpの

は今、私の質問は、ユーザーがhttp://sampardee.com/index.phpに入ったときに検出して、私はのRewriteRuleでそうする可能性がどのようにhttp://sampardee.com/index

にそれを変更する方法ですか?

答えて

2

あなたは内部リダイレクトをマッチングことなく、ユーザにリダイレクトを強制する必要があります。

RewriteCond %{ENV:REDIRECT_STATUS} !200 
RewriteRule ^(\w+)\.php$ /$1 [R=301] 

RewriteRule ^(\w+)/?$ /$1.php 

これは修正URLへのリダイレクト301 Moved Permanentlyを持つユーザーをリダイレクトします。

+0

両方のルールが同時に一致しないようにRewriteCond'sを使って周りを歩く必要があるかもしれませんが、あなたが記述したシナリオは書き換え可能でなければなりません。 – andri

+0

私は自分の答えを修正しました。今はループしません(既にリダイレクトされているかどうかをRewriteCondで確認する必要があります)。 – andri

関連する問題