数字化技能提升教程,数字化时代生存宝典

数字化百科 / 产品文档 / Gallery:模块:重写(rewrite)

Gallery:模块:重写(rewrite)

查看全部产品文档命名空间:Gallery

= URL Rewrite (1.1.x) =
开发者参考

描述

使用mod_rewrite,ISAPI_Rewrite或PathInfo来提供可配置的短URL。

特点

  • 将URL缩短到人工可读长度的路径。
  • Apache mod_rewrite支持。
  • IIS ISAPI_Rewrite支持。
  • PHP PathInfo支持。
  • 可配置的URL样式。
  • 拦截热链(hotlinked)项目(仅ISAPI_Rewrite 和mod_rewrite)。
  • 其他模块提供有额外的功能。
  • * Watermark模块:水印热链(hotlinked)项目(仅ISAPI_Rewrite和mod_rewrite)。
  • * Permalinks模块:移动项目时不会改变的永久URL。

用法

  • 参读插件安装的相关指导,并启用URL重写模块(URL rewrite module)。
  • 你需要在站点管理(Site Admin) -> 插件(Plugins)中对此模块进行配置。

配置页面将显示服务器类型(Aapche或IIS)可用的解析方法。如果你不知道该选择哪种方法,你应该都选择一下看看:mod_rewrite(Apache)或 ISAPI_Rewrite(IIS)。模块将会测试你的服务器是否支持所选的解析方法。如果测试成功的话,就会跳转到模块管理页面,在此就可以激活模块了。

特点请求

  • 1224224 请勿将.html作为项目URL的后置
  • 当模块处于活动状态时对解析方法进行修改。

Bug

目前无有关此模块的已知问题。

疑难解答

如何确定mod_rewrite被装载了?

打开Gallery的phpinfo页面查看已装置模块的有关信息。如果mod_rewrite被装载了,就可以在列表中看到它。注意,如果PHP在cgi模式下运行的话,此列表将是空的。 gallery2/lib/support/index.php?phpinfo

我确定mod_rewrite被装载了,但为何Gallery告知我此模块无法运行?

如果你是服务器管理者的话,请确保Gallery的目录具有合适的AllowOverride权限。Gallery需要能够覆盖FileInfo和Options(选项)。在你的Apache配置的末尾加上: AllowOverride FileInfo Options

我的.htaccess文件丢失,而且站点管理(Site Admin)的链接都无效了。

参见有关此话题的Gallery2常见问题。 将以下语句加入你的.htaccess,接着打开站点管理(Site Admin) -> URL重写(URL Rewrite)并保存规则以恢复你原来的.htaccess文件。 # 开始Url Rewrite部分 # (自动生成的。请勿编辑此部分) RewriteEngine On # Gallery的路径(此例example.com/gallery2/) RewriteBase /gallery2/ RewriteRule ^admin /gallery2/main.php?g2_view=core.SiteAdmin [QSA,L] # 结束Url Rewrite部分

=URL Rewrite嵌入=
当对URL Rewrite配置做任何修改(包括规则)时,你需要通过嵌入应用程序访问URL Rewrite管理界面。

Apache mod_rewrite的配置

请确保Apache用户具有嵌入应用程序所在文件夹中的.htaccess文件的写访问权限。 touch /var/www/localhost/embedApp/.htaccess chmod 666 /var/www/localhost/embedApp/.htaccess 如果你不愿意让所有人都能写入.htaccess文件的话,你可以在完成安装之后恢复以前的设定--并且不计划修改任何设定(包括Setup标签下的规则)。 chmod 644 /var/www/localhost/embedApp/.htaccess EmbeddedRewrite_-_Clipboard01.jpg EmbeddedRewrite_-_Clipboard02.jpg #打开站点管理(Site Admin) -> URL重写(Url Rewrite) -> 安装(Setup)标签。你需要再次使用嵌入模式来进行此操作。 # 填写Htaccess路径。这是你嵌入模式的.htaccess文件的物理位置(/var/www/localhost/embedApp)。 # 填写Public路径。这是嵌入应用程序的路径,客户端将从web看到(如,/embedApp或 /)。

验证
EmbeddedRewrite_-_Clipboard05.jpg
EmbeddedRewrite_-_Clipboard04.jpg
# 选择测试(Test)标签并查找嵌入的测试
# Gallery将进行测试,使你确信已对URL Rewrite模块进行了正确配置。

IIS ISAPI_Rewrite的配置

EmbeddedRewrite_-_Clipboard02.jpg #打开站点管理(Site Admin) -> URL重写(Url Rewrite) -> 安装(Setup)标签。你需要再次使用嵌入模式来进行此操作。 # 填写Public路径。这是嵌入应用程序的路径,客户端将从web看到(如,/embedApp或 /)。

PHP路径信息(PHP Path Info)的配置

无需配置嵌入模式。在修改规则时,你不需要处于嵌入模式中,因为Gallery将会对规则进行解析。

Category:Gallery 2:Modules