2011-08-16 15 views
0

が存在する私はシンプルなモッドリライトルール - 単一のルール - ファイルが

Options FollowSymLinks 
RewriteEngine On 
RewriteRule ^hosted/essws/([^/]*)/$ /hosted/essws/?key=$1 [L] 

非常に単純なモッズ書き換えルールを持っている私は、ファイルまたはディレクトリが存在する場合でもアクティブにするために、この書き換えをしたいと思います。例えば

: URL:

http://localhost/hosted/essws/candy-sweets-buffet/ 

ウィル・ロード:

ディレクトリ/ホステッド/ essws /キャンディー・お菓子・ビュッフェ/が存在するにもかかわらず
http://localhost/hosted/essws/index.php?key=candy-sweets-buffet 

ご協力いただければ幸いです。

+0

デフォルトでは、ディレクトリが存在する場合でもURLは書き換えられます。 – Shef

+0

なぜそれは動作しませんか?スラッシュを追加してください:RewriteRule ^/hosted/essws /([^ /] *)/ $/hosted/essws /?key = $ 1 [L] – realmfoo

答えて

3
Options FollowSymLinks 
RewriteEngine On 
RewriteRule ^hosted/essws/([^/]*)/$ /hosted/essws/?key=$1 [L] 

Look! rewriteRuleはディレクトリが存在するかどうか気にしません!それはURLを書き換えます!
あなたの問題は、あまりにも多くの人がそれを持っている単純なものです!書き換え引数の先頭に/を入れないでください!

Options FollowSymLinks 
RewriteEngine On 
RewriteRule ^hosted/essws/([^/]*)/$ hosted/essws/?key=$1 [L] 
0

私がやろうとしてしばらく苦労:私の場合は

RewriteEngine On 
RewriteRule ^catalog/([0-9]+)/?$ catalog.php?id=$1 [NC,L] 

を、catalog.phpはファイルとして存在します。 MultiViewsを削除することで、既存のファイルは再書き込みで問題にならなくなりました。

Options -MultiViews 
RewriteEngine On 
RewriteRule ^catalog/([0-9]+)/?$ catalog.php?id=$1 [NC,L] 

完了!

関連する問題