February 17, 2007
mod_rewiteの設定縺?.htaccessに鐔??載していることだと思うが、ヘンテコな設定はかなりApacheに鐔??荷を觸??け、Temporary Service UnavailableやForbidenなどのエラーを頻発させてしまう。
よく使繧?れる設藹??は、次のようなものだ。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^db/([0-9A-Za-z]+)_(.*)\.html$ db/db\.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d は「ディレクトリが存在しない場合」
さらに、次縺? RewriteCond %{REQUEST_FILENAME} !-f は「ファイルが存在しない場合」
リクエストされたディレクトリまたはファイルが存在しなければ、mod_rewiteのルール処理に鐔??縺?よ。ということである。つまりルートディレクトリに置いた日には無饅??縺?Apacheのリソースを喰ってしまうのである。dbディレクトリ縺?htaccessを置縺?など、ディレクトリ觸??に設定する方軆??をとる必要がある。
また、ルール処理にできるだけ行かせないようにする記載方觸??も併せて施軆??としたい。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(css|gif|jp?g|png)$
RewriteCond %{REQUEST_URI} !^/images/.*$
RewriteCond %{REQUEST_URI} !^/s/.*$
RewriteRule ^db/([0-9A-Za-z]+)_(.*)\.html$ db/db\.php?id=$1 [L]
Posted by funa : 06:29 PM | Web | Comment (0) | Trackback (0)
| < February 2007 > | ||||||
| Sun | Mon | Tue | Wed | Thi | Fri | Sat |
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | |||