摘要: 昨天开始了解一些Wordpress固定链接的技术,但是纯粹地设置固定链接功能,在使用新的URL后, 页面的链接虽然变正确了,可点击之后页面出现的404错误!从Google返回的结果来看,遇到此问题的情况比较少。想来是容易解决的,但对于半路出家的我,还是有点难度…

昨天开始了解一些Wordpress固定链接的技术,但是纯粹地设置固定链接功能,在使用新的URL后, 页面的链接虽然变正确了,可点击之后页面出现的404错误!从Google返回的结果来看,遇到此问题的情况比较少。想来是容易解决的,但对于半路出家的我,还是有点难度的。不管怎样,继续Google之,还好不久就找到解决的方法,关键之处在于设置服务器的.htaccess。下面是解决的过程。 权限开得比较大的服务器关系不大,直接在httpd.conf文件里设置服务器支持.htaccess,然后在Wordpress中设置固定链接即可。具体操作方法如下: 找到apache安装目录下的httpd.conf文件,在里面找到

Options FollowSymLinks 
AllowOverride none

我们只要把蓝色字的none改为all,然后重启apache就OK了!然后上传.htaccess文件即可。 不过一般来讲,为了服务器的安全考虑,大部分会禁用.

htaccess,而且如果是使用虚拟主机设置,那问题就更加复杂一些的。刚好我现在的情况就是服务器整体禁用了.htaccess,又使用了虚拟主机(httpd-vhost.conf)设置,然后我又不想全局开启.htaccess,麻烦啊!后来试了各种方法,包括设httpd.conf、httpd-vhost.conf里重写URL,发现使用固定链接后,页面还是提示404错误的。然后就在人快绝望的时候(峰回路转总是在此时),忽然想到如果虚拟主机httpd-vhost.conf里能直接设置.htaccess的访问权限,问题不就解决了!?经过查找,终于找到了apache虚拟主机下设置.htaccess访问权限的代码如下:

…… 
Options FollowSymLinks IncludesNOEXEC Indexes 
DirectoryIndex index.html index.htm index.php 
AllowOverride all 
Order Deny,Allow 
Allow from all 
…..

保存重启Apache之后,此虚拟主机就支持.htaccess了,然后在Wordpress中设置固定链接,生成的.htaccess的代码设置如下:

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

然后就可以使用wordpress的固定链接功能了。