手册 >> 访问交互 >> Apache的UrlRewrite伪静态htaccess设置

Apache的UrlRewrite伪静态htaccess设置

SpeedPHP框架的UrlRewrite伪静态是通过服务器的伪静态功能实现的,以下讲述如何在Apache服务器中配置和使用UrlRewrite伪静态。

首先确定您的Web服务器是Apache,如果是IIS,请参考本站另一篇文章《IIS的URLRewrite伪静态设置》

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

虚拟主机用户

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

  1. 查看主机配置单或者询问您的主机服务商或者管理员,确定网站空间已经开启htaccess文件权限。UrlRewrite主要是通过htaccess文件设置,所以务必要确定网站空间可以支持htaccess文件。
  2. 将以下htaccess文件内容传到需要使用UrlRewrite的网站目录中即可。htaccess文件支持在任何目录实现UrlRewrite,所以可以放置在任何有SpeedPHP框架应用程序的目录。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>

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

.htaccess下载

独立主机用户

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

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