.htaccessを使用してURLを書き換える際の問題

May 20 2020

phpを使用してサイトを構築しましたが、サイトのURLを書き換える際に問題が発生しました。

URL:http://example.com/profile.php?user=jash欲しいURL:http://example.com/jash

.htacccessで次の書き換えルールを使用しました。

RewriteRule ^([a-zA-Z0-9_-]+) profile.php?user=$1 [NC,L]

これは私にとっては問題なく機能しますが、本当の問題はここから始まります。 http://example.com/login.php、代わりにlogin.phpにリダイレクトする必要があります。代わりに、ユーザーをチェックし、表示するリダイレクトが多すぎます。修正してもらえますか?

回答

2 jeprubio May 20 2020 at 23:37

その書き換えルールのすべてのファイルとディレクトリを無視して、これをそのルールの先頭に配置してください。

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]