人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Apacheのmod_rewriteの質問です。mod_rewriteを使って
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
などのファイルへのアクセスも転送されてうまく動かなくなってしまうようです。
こういう場合はどう書けばいいのでしょうか?

●質問者: pha
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Apache INDEX Key mod_rewrite PHP
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● GEN111
●60ポイント ベストアンサー
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?key=$1

RewriteCond で適用条件を指定してやればどうでしょうか。

!-f は存在するファイル名にはルールを適用しない

!-d は存在するディレクトリ名にはルールを適用しない

Apache module mod_rewrite

◎質問者からの返答

おお、そんな手があったのですか。

できました。ありがとうございますー。

GEN111さんには前にも何かで回答していただきましたね。

いつもありがとうございます^^

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ