摘要: 昨天开始了解一些Wordpress固定链接的技术,但是纯粹地设置固定链接功能,在使用新的URL后, 页面的链接虽然变正确了,可点击之后页面出现的404错误!从Google返回的结果来看,遇到此问题的情况比较少。想来是容易解决的,但对于半路出家的我,还是有点难度…
昨天开始了解一些Wordpress固定链接的技术,但是纯粹地设置固定链接功能,在使用新的URL后, 页面的链接虽然变正确了,可点击之后页面出现的404错误!从Google返回的结果来看,遇到此问题的情况比较少。想来是容易解决的,但对于半路出家的我,还是有点难度的。不管怎样,继续Google之,还好不久就找到解决的方法,关键之处在于设置服务器的.htaccess。下面是解决的过程。 权限开得比较大的服务器关系不大,直接在httpd.conf文件里设置服务器支持.htaccess,然后在Wordpress中设置固定链接即可。具体操作方法如下: 找到apache安装目录下的httpd.conf文件,在里面找到
Options FollowSymLinks AllowOverride noneOptions FollowSymLinks AllowOverride noneOptions 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 …..…… Options FollowSymLinks IncludesNOEXEC Indexes DirectoryIndex index.html index.htm index.php AllowOverride all Order Deny,Allow Allow from all …..…… 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]RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
然后就可以使用wordpress的固定链接功能了。
原文链接:https://www.osgeo.cn/post/654gg