• ベストアンサー
※ 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]

質問者が選んだベストアンサー

  • ベストアンサー
noname#130824
noname#130824
回答No.2

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([a-z0-9_-]+).htm$ execute.php?id=$1 これで実在するファイルは対象外になるらしいです。

参考URL:
http://webings.net/htaccess/rewritecgi/
audrey1800
質問者

お礼

おかげさまで期待通りのものができました。ありがとうございました。

その他の回答 (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 でこれをいじらないとそうなるよ

関連するQ&A