Gallery:模块:重写(rewrite)
来自站长百科
(重定向自Gallery:Modules:rewrite)
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配置的末尾加上:
<Directory /full/path/to/gallery2> AllowOverride FileInfo Options </Directory>
我的.htaccess文件丢失,而且站点管理(Site Admin)的链接都无效了。[ ]
参见有关此话题的Gallery2常见问题。 将以下语句加入你的.htaccess,接着打开站点管理(Site Admin) -> URL重写(URL Rewrite)并保存规则以恢复你原来的.htaccess文件。
# 开始Url Rewrite部分 # (自动生成的。请勿编辑此部分) <IfModule mod_rewrite.c> RewriteEngine On # Gallery的路径(此例example.com/gallery2/) RewriteBase /gallery2/ RewriteRule ^admin /gallery2/main.php?g2_view=core.SiteAdmin [QSA,L] </IfModule> # 结束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
- 打开站点管理(Site Admin) -> URL重写(Url Rewrite) -> 安装(Setup)标签。你需要再次使用嵌入模式来进行此操作。
- 填写Htaccess路径。这是你嵌入模式的.htaccess文件的物理位置(/var/www/localhost/embedApp)。
- 填写Public路径。这是嵌入应用程序的路径,客户端将从web看到(如,/embedApp或 /)。
验证
- 选择测试(Test)标签并查找嵌入的测试
- Gallery将进行测试,使你确信已对URL Rewrite模块进行了正确配置。
IIS ISAPI_Rewrite的配置[ ]
- 打开站点管理(Site Admin) -> URL重写(Url Rewrite) -> 安装(Setup)标签。你需要再次使用嵌入模式来进行此操作。
- 填写Public路径。这是嵌入应用程序的路径,客户端将从web看到(如,/embedApp或 /)。
PHP路径信息(PHP Path Info)的配置[ ]
无需配置嵌入模式。在修改规则时,你不需要处于嵌入模式中,因为Gallery将会对规则进行解析。