Mod-Rewrite

在 Lighttpd 中為兩台主機配置 mod_rewritte

  • January 26, 2013

我在使用 Lighttpd 的兩台主機中配置 mod_rewrite 時遇到問題。

我有一個是舊版本的更新版本。舊的不使用mod_rewrite,而新的使用。但是,問題是,如果我在lighttpd.conf那時啟用該模組,舊的模組會進行所有重定向,即使我沒有將其配置為進行任何重定向。

這是我的 conf 文件:

$HTTP["host"]=~"test.org" {
   server.document-root = "/var/www/virtual/acruz/www/public/"
   server.errorlog      = "/var/www/virtual/acruz/logs/error.log"
   accesslog.filename   = "/var/www/virtual/acruz/logs/access.log"

   url.rewrite-once = (
       ".*\.(js|ico|gif|jpg|png|css|)$" => "$0",
       "^/.*(\?.*)"                     => "/index.php$1",
       ""                               => "/index.php"
   )
}

$HTTP["host"]=~"r5.test.org" {
   server.document-root   = "/var/www/virtual/acruz/r5/"
   server.errorlog        = "/var/www/virtual/acruz/logs/error.log"
   accesslog.filename     = "/var/www/virtual/acruz/logs/access.log"
   setenv.add-environment = ("env" => "acruz")
}

正如 j0k 所說,使用更好的主機匹配 - `=~“test.org” 也匹配 “r5.test.org”。

你也可以只有一個server.errorlog(你還沒有收到配置警告/錯誤,但它只會使用一個配置的文件)。

引用自:https://serverfault.com/questions/472501