http://aaa.com/キーワード
http://aaa.com/キーワード/
へのアクセスを
http://aaa.com/index.php?key=キーワード
へ転送したいのですが(キーワードは日本語ですがエンコード済み)、
RewriteRule ^([^/]+)/?$ index.php?key=$1
と書くと、
http://aaa.com/index.php
http://aaa.com/index.css
などのファイルへのアクセスも転送されてうまく動かなくなってしまうようです。
こういう場合はどう書けばいいのでしょうか?
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/?$ index.php?key=$1
RewriteCond で適用条件を指定してやればどうでしょうか。
!-f は存在するファイル名にはルールを適用しない
!-d は存在するディレクトリ名にはルールを適用しない
おお、そんな手があったのですか。
できました。ありがとうございますー。
GEN111さんには前にも何かで回答していただきましたね。
いつもありがとうございます^^