尺有所短,寸有所长
物有所不足,智有所不明

WordPress建站教程-固定链接伪静态设置教程以及404问题

在默认情况下,刚安装的WordPress的所有网页,都带“问号”的PHP动态链接,虽然搜索引擎不抵触动态页面,但是静态页面依然是现在网站的主流。

WordPress由于是PHP系统,所以不能完美静态化,只可以实现伪静态化,,并且只针对文章,其它页面、存档、日期的页面不可以伪静态化。

伪静态化后更容易被各大搜索引擎收录、增加权重,另外,拼音或英文的后缀还能增强网站访问体验。修改步骤:登录网站后台→设置→固定链接→自定义结构,输入展示代码,可以显示不同的链接,展示方式可以自己选择。

一、虚拟主机伪静态规则

修改WordPress固定链接伪静态化后,网页却打不开,出现这种情况这是因为缺少伪静态规则。

WordPress固定链接伪静态化设置规则,是根据你主机环境来决定的,不需要插件,网上运行的wordpress无非IIS/Apache/Nginx这三种环境。

WordPress固定链接伪静态化设置技巧多种多样,需要对号入座。如果使用的是虚拟主机,大多数的IDC服务商,都支持wordpress伪静态,直接在后台修改固定链接设置即可。

1、Linux服务器环境

请确保你的根目录开启了777权限,已开启的话,在修改自定义固定链接后的瞬间,会在主机根目录自动生成一个.htaccess的文件,打开查看是否已生成规则,生成的话,就OK了,就不需要往下看了。

如果没有生成.htaccess,或者.htaccess里没有内容,那就需要手动创建一个txt文件,使用上传软件修改名为 .htaccess,粘贴Apache或Nginx规则代码,保存并上传到网站根目录就行了。

(注意:很多设置后所有页面出现404,是因为这个的原因)

Apache规则

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

Nginx规则

location / {
    if (-f $request_filename/index.html){
        rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
        rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
        rewrite (.*) /index.php;
    }
}

2、Windows主机IIS环境下伪静态规则

你使用的windows主机必须安装了装Rewrite 组件才能支持伪静态,咨询下你的主机商所使用的主机是否支持伪静态,支持的话请继续往下看。

如果主机支持伪静态,在修改wordpress固定链接后无法伪静态,在根目录自动生成一个httpd.ini,没有生成的话,就创建一个txt文本,修改名字为httpd.ini,复制粘贴下边代码,保存上传到根目录。

[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /tag/(.*) /index\.php\?tag=$1
RewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

PS:如果你不知道所使用的主机是什么系统,或使用的Linux或Windows系统的VPS主机,不会配置伪静态规则,可以咨询你的空间商,他们会帮助你实现wordpress伪静态,虽然设置了伪静态,只是展示的伪静态后缀,其实还是动态页面,如果想完全静态页面,可以安装WP Super Cache或者Hyper Cache插件,为全站生成静态页面缓存。

赞(0) 打赏
转载请注明出处:芝麻粒儿博客芝麻粒儿 » WordPress建站教程-固定链接伪静态设置教程以及404问题
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏