Gallery:Lighttpd URL重写

来自站长百科
跳转至: 导航、​ 搜索

介绍[ ]

URL重写(Rewrite)模块并不直接支持lighttpd,但可以通过手动归位重写规则来实现。

指导[ ]

  1. 一个能够运行的gallery2
  2. 站点管理(Site Admin)web界面的插件(Plugins)部分中,配置URL重写模块使用Apache mod_rewrite;你可能需要强制忽略测试,并告知可以运行。
  3. 创建(没有什么必要的).htaccess文件并赋予其可读写权限。命令看起来是这样的:
touch /srv/www/localhost/gallery2/.htaccess
chmod 666 /srv/www/localhost/gallery2/.htaccess
  1. 完成URL重写模块的激活;如果需要的话,你可以移除gallery2所创建的.htaccess文件的所有内容。
  2. 如果需要就激活永久链接(Permalinks)
  3. 编辑为根目录的Lighty配置文件,它可能位于/etc/lighttpd/lighttpd.conf,并为你可读到mod_rewrite的行取消批注(即删除#号)。如果你找不到此行,就向server.modules部分添加"mod_rewrite",。举个例子,就像这样:
server.modules              = (
                               "mod_rewrite",
                               "mod_access",
                               "mod_fastcgi",
                               "mod_ssi",
                               "mod_usertrack",
                               "mod_accesslog" )

你的Lighty将会读取此模块。现在就要向你的配置文件中添加url.rewrite规则了。Lighty会分析被请求的url并到达'=>'之后所定义的目的地。在/etc/lighttpd/lighttpd.conf文件中添加这些语句:

url.rewrite = (
 "^/(.*)/Rewrite.txt$" => "/$1/Works.txt",
 "^/gallery2/v/(\?.+|\ .)?$" => "/gallery2/main.php?g2_view=core.ShowItem",
 "^/gallery2/admin[/?]*(.*)$" => "/gallery2/main.php?g2_view=core.SiteAdmin&$1",
 "^/gallery2/d/([0-9]+)-([0-9]+)/([^\/]+)(\?|\ )?(.*)$" =>
 "/gallery2/main.php?g2_view=core.DownloadItem&g2_itemId=$1&g2_serialNumber=$2&$3",
 "^/gallery2/v/([^?]+)/slideshow.html" =>
 "/gallery2/main.php?g2_view=slideshow.Slideshow&g2_path=$1",
 "^/gallery2/v/([^?]+)(\?|\ )?(.*)$" =>
 "/gallery2/main.php?g2_view=core.ShowItem&g2_path=$1&$3",
 "^/gallery2/c/add/([0-9]+).html" =>
 "/gallery2/main.php?g2_view=comment.AddComment&g2_itemId=$1",
 "^/gallery2/c/view/([0-9]+).html" =>
 "/gallery2/main.php?g2_view=comment.ShowAllComments&g2_itemId=$1",
 "^/gallery2/p/(.+)" =>
 "/gallery2/main.php?g2_controller=permalinks.Redirect&g2_filename=$1",
 "^/key/([^?]+)(\?|\ )?(.*)$" =>
 "/main.php?g2_view=keyalbum.KeywordAlbum&g2_keyword=$1&$3"
 )

如有必要,将gallery2修改为你的gallery2路径。以上的规则为URL重写模块的默认样式(上面的the /v/,/d/等部分)。在URL Rewrite Site Admin中的任何修改都要求符合对这些规则所作的修改。

现在停止Lighty并从命令行重新启动来看看是否有输入错误。如果一切正常的话,它就能运行了。

链接[ ]