2009-06-28 12 views
8

私はユーザーフレンドリーに私のURLを書き換えます。たとえば、user.phpというページがあり、/ userに書き換えられます。しかし、ユーザーはuser.phpを使用することができます。拡張子が.phpのページをリクエストすると404にリダイレクトできますか?mod_rewriteエラー404 if .php

Options -MultiViews +FollowSymlinks -Indexes 
RewriteEngine on 


RewriteRule ^user/([0-9]+)$ user.php?id=$1 [L,QSA] 

ありがとうございます。

答えて

7
RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/ 
RewriteRule ^.*$ - [R=404,L] 
+0

確かにR = 404は、フラグが受け付けるステータスコードの1つではありません... –

+0

は動作しますが、user.phpの後に疑問符を追加すれば私はまだそのページにアクセスできます。多分私はそれについて何かすることができますか? –

+0

かなり十分です。それがうまくいくかどうか議論することはできません。 –

2

これはトリックを行う必要があり、私は思う:

RewriteRule (.*)\.php$ path/to/your/404file [L] 
+0

で読み込まれるので、私のすべてのページにルールを追加する必要がありますか? –

2

301 redirectこのタスクのためのより適切かもしれません。