- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現の際、特定の単語を除外したい)
正規表現で特定の単語を除外してURLを書き換える方法
このQ&Aのポイント
- apacheのmod_rewriteを使用してURLを書き換える際、特定の単語(index)を除外する方法を教えてください。
- 例えば、ディレクトリにはexecute.phpの他にindex.htmを置きたいと思っていますが、現在の.htaccessの設定では、URLが”http://moge/execute.php?id=index”に飛ばされてしまいます。そこで、正規表現を使用して特定の単語(index)を除外する方法を教えてください。
- htaccessに以下のコードを追加することで、URLを書き換える際に特定の単語(index)を除外することができます。 RewriteEngine On RewriteCond %{REQUEST_URI} !^/index\.htm$ RewriteRule ^([a-z0-9_-]+)\.htm$ execute.php?id=$1 [L]
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#130824
回答No.2
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([a-z0-9_-]+).htm$ execute.php?id=$1 これで実在するファイルは対象外になるらしいです。
その他の回答 (1)
- SAYKA
- ベストアンサー率34% (944/2776)
回答No.1
それは読み込みの優先順位がindex.htmのが先に来てるからだろうね http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex directoryindex という設定項目だけれど 通常は httpd.con で index.htm,index.html が前に来てるだろうから .htaccess でこれをいじらないとそうなるよ
お礼
おかげさまで期待通りのものができました。ありがとうございました。