让Linux 虚拟主机用户支持.htaccess

今天公司有一个客户安装workpress 博客,发现生成.htacess 导致网站打不开,后来找到了原因。不是因为没有加截Rewrite_module 库,而是没有给用户重写权限,用户上传到空间的.htacess不生效。 

般Linux主机都能很好地支持Apache的mod_rewrite模块,要URL 重写生成永久固定链接也很简单,只要修改WordPress根目录下的.htaccess文件就可以了。但是假如你不巧选择了空间提供商的windows 主机,在IIS下的WordPress url重写就不一定能得到完美的支持。下面我将WordPress 如何在apache 和IIS环境下进行url rewrite 配置做了一下整理,以及如何在WordPress管理后台进行url重写的设置步骤。

一、Apache环境下的URL rewrite:

由于Apache自带了mod_rewrite 模块,要实现URL rewrite 生成伪静态页面很方便。

1. 确认apache模块已经开启,打开apache目录下的conf/httpd.conf文件,找到LoadModule Rewrite_module libexec/mod_Rewrite.so 这一行,假如前面有 # 将其去掉; 

2. 配置目录的allowoverwrite属性,

我们公司使用的是prima虚拟主机系统,找到

/etc/httpd/conf.d 或

/usr/prima/etc/httpd/site.conf

<Directory /www>
   Options FollowSymLinks
   AllowOverride AuthConfig Indexes limit  改成 AllowOverride ALL
   Order allow,deny
   Allow from all
</Directory> 

重启apache 命令 service httpd restart  //重启后就可以用了 

3. 创建.htaccess文件,新建一个txt文档,将其命名为htaccess.txt,然后在文档里写入下面的代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

保存为 htaccess.txt 上传到网站根目录下,最后将文件名修改为 .htaccess,这样在apache环境下服务器端的url rewrite配置就完成了。

相关推荐