为什么这个lighttpd url重写不起作用?

时间:2015-02-01 02:54:26

标签: mod-rewrite lighttpd

我有lighttpd的以下mod_rewrite代码,但它没有正确地指导用户:

$SERVER["socket"] == ":3041" { 
server.document-root = server_root + "/paste" 
url.rewrite-once = ( "^/([^/\.]+)/?$" => "?page=paste&id=$1")
}

它应该将网址domain.com/H839jec转换为domain.com/index.php?page=paste&id=H839jec但是它没有这样做,而是将所有内容重定向到domain.com。我不太了解mod_rewrite,并且会对它为什么会这样做有所了解。

1 个答案:

答案 0 :(得分:0)

使用以下内容:

url.rewrite-once = ("^/(.*)$" => "/?page=paste&id=$1")

我不知道您的代码中的确切问题,但首先正则表达式看起来不必要地复杂,可能与您预期的匹配不匹配,其次,您重定向到查询字符串,其中我我希望您仍然需要在查询字符串之前重定向到有效路径,这就是为什么我重定向到/?page...而不仅仅是?page...