#1 jake

SpeedPHP框架的UrlRewrite伪静态是通过服务器的伪静态功能实现的,以下讲述如何在Apache服务器中配置和使用UrlRewrite伪静态。
首先确定您的Web服务器是Apache,如果是IIS,请参考本站另一篇文章《IIS的URLRewrite伪静态设置》

以下根据对主机配置的权限不同,我们分为“虚拟主机用户”和“独立主机用户”两种情况来讲述,请对比您是需要哪一类用户。

虚拟主机用户

虚拟主机用户指的是网站空间是购买ISP主机服务商的虚拟主机,或者对服务器没有管理员权限的用户。


  • 查看主机配置单或者询问您的主机服务商或者管理员,确定网站空间已经开启htaccess文件权限。UrlRewrite主要是通过htaccess文件设置,所以务必要确定网站空间可以支持htaccess文件。
  • 将以下htaccess文件内容传到需要使用UrlRewrite的网站目录中即可。htaccess文件支持在任何目录实现UrlRewrite,所以可以放置在任何有SpeedPHP框架应用程序的目录。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]

由于一般windows电脑不能创建.htaccess文件,所以这里还提供了htaccess文件下载。或者可以通过FTP软件重命名。
.htaccess下载: rewrite25[1].rar


独立主机用户

独立主机用户是可以对主机服务器进行配置操作,并能够修改apache的httpd.conf等文件权限的用户。


  • 打开Apache服务器的httpd.conf文件,将下面一行配置前面的去掉,如果无法找到该行配置,则在httpd.conf文件最后增加。
    LoadModule rewrite_module modules/mod_rewrite.so
  • 查找的配置,通常是这样
    < Directory /usr/local/apache/htdocs/www.abc.com>
    options indexes followsymLinks
    allowoverride none
    < /Directory >
    把allowoverride none改成allowoverride all(如果没有这句可以增加)
  • 保存httpd.conf文件,重启apache服务器。
  • 经过以上步骤,网站空间已经可以支持htaccess文件,按照“虚拟主机用户”的步骤来进行配置即可。

2012-08-04 13:58:45