Gallery:Lighttpd URL重写
介绍
URL重写(Rewrite)模块并不直接支持lighttpd,但可以通过手动归位重写规则来实现。
指导
# 一个能够运行的gallery2
# 在站点管理(Site Admin)web界面的插件(Plugins)部分中,配置URL重写模块使用Apache mod_rewrite;你可能需要强制忽略测试,并告知可以运行。
# 创建(没有什么必要的).htaccess文件并赋予其可读写权限。命令看起来是这样的:
touch /srv/www/localhost/gallery2/.htaccess
chmod 666 /srv/www/localhost/gallery2/.htaccess
# 完成URL重写模块的激活;如果需要的话,你可以移除gallery2所创建的.htaccess文件的所有内容。
# 如果需要就激活永久链接(Permalinks)。
# 编辑为根目录的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并从命令行重新启动来看看是否有输入错误。如果一切正常的话,它就能运行了。
链接
- 感谢Matthew Kincaid为Apache重写规则向lighttpd初次转换所作的工作。
- 永久链接:lighttpd上的Gallery2样版