admin 管理员组文章数量: 887021
2024年1月23日发(作者:爬虫scrapy教程)
WordPress固定链接设置方法
2010-05-13 06:39
固定链接其实就是修改 WordPress 目录、页面或者帖子的URL链接形式,修改这个的好处,一个是地址更好识别,如果有一定规律的话,用户体验会非常好,其次就是SEO优化,修改之后的静态地址比动态地址更容易让搜索引擎接受,从而更快的提高我们博客的排名,用更短的时间让更多人知道你的博客。由此可见,固定链接在博客中的重要性。对于wordpress 用户而言,就很有必要掌握一些固定连接的设置参数和技巧。
永久链接设置参数:
参数按照WordPress官方文档列表如下:
1. %year%
基于文章发布年份,比如2007;
2. %monthnum%
基于文章发布月份,比如05;
3. %day%
基于文章发布当日,比如28;
4. %hour%
基于文章发布小时数,比如15;
5. %minute%
基于文章发布分钟数,比如43;
6. %second%
基于文章发布秒数,比如33;
7. %postname%
基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;
8. %post_id%
基于文章post_id,比如423;
9. %category%
基于文章分类,子分类会处理成“分类/子分类”这种形式;
10. %author%
基于文章作者名。
将上述参数进行组合,即可得到wordpress的固定链接形式。
网上常见的几种设置方法:
* /%year%/%monthnum%/%day%/%postname%/
* /%year%/%monthnum%/%postname%/
* /%year%/%monthnum%/%day%/%postname%.html
* /%year%/%monthnum%/%postname%.html
* /%category%/%postname%.html
*/%postname%.html(推荐形式,本站用的就是这种形式)
* /%post_id%.html
永久链接设置原则:
一、不要让日期出现在固定连接链接里面
这基于两个方面的考虑。一是如果数字出现在固定链接里面,等于提醒搜索引擎,这是很旧的内容了,没必要再爬一遍了。另外一个原因是,假如你要修改文章的日期重新发布的话,链接地址就变了,也就是意味着你的反向链接,PR 等等都没有了。
二、不要让分类的链接出现在固定链接里面
这一点是很多人都会忽略的地方。让分类出现在固定链接里面有两个缺陷:一是一篇文章如果选择了多个分类的话,则会出现多个链接地址,这很容易造成因为重复内容而被搜索引擎惩罚;二是有可能会造成关键词堆砌而被搜索引擎惩罚。
三、链接不宜过深
经常看到很多wordpress 朋友的固定链接是年/月/日/分类名/文章名。但是这种过于深的固定链接对搜索引擎是非常不友好的。
四、不要让中文字符出现在固定链接里面
虽然现在的搜索引擎已经能识别URL地址里面的中文字符,但无论是从美观上,还是从wordpress 优化的角度来看,都是非常差的。
永久链接设置方法:
只要主机支持自定义404页面,无需安装插件,就能让Win主机像Linux 那样,方便使用WordPress的固定链接为静态化地址格式。
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ‘:80′)+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include(‘’);
?>
设置固定链接(Permalink)伪静态步骤:
1. 将以上代码保存为 ,并上传至主机根目录。
2. 设置 404 自定义错误页为 .
3. 进入 WordPress 控制面板,设置(Options)- 固定链接(Permalinks),选择固定链接格式。如果觉得上面新建404页面太麻烦了!那我推荐一个插件!就是Permalinks
Migration Plugin(进入后台搜索插件就有)
Permalinks Migration Plugin的主要原理是利用“301转向”来实现既不丢失原有的链接,同时又让读者和搜索引擎知道,你已经修改了固定链接的效果,让他们尽快更新链接。
如果是个人服务器的话,如IIS+PHP这种类型的,就去网上下载一个Rewrite,然后用IIS加载下就可以了,相信用IIS的人应该明白是什么意思,如果不明白的话可以在下面留言,我会进行解答!
此篇文章有一部分内容取材于网络。
WordPress 固定链接怎样设置最好?这是很多WP新手比较困惑的问题,这里讲一下我的一点经验:
(1)考虑到搜索引擎优化,最好 .html 结尾
(2)链接长度考虑,可以使用 %post_id%.html
(3)搜索引擎优化考虑,使用%postname%.html
或 %category%/%postname%.html,但这种方法会导致链接长度过长,解决方法是:为每一篇文章取个别名,这样就可以用别名访问了。注意:“别名”默认是不显示在“添加新文章”界面的,需要在这个页面右上角的“显示选项”里,勾选这一项。
我的固定链接就设置成了:%postname%.html,然后在发布每一篇文章时起了个别名。
关于修改固定链接后不能访问文章问题,或者访问时提示404错误:
如果你的Apache、PHP、Mysql系统架构是自己配置的,或使用的某些安装包,可能会有这个问题,本人曾经遇到过,用第五条解决,具体如下:
(1)Apache中的rewrite模块没有开启,去除这一行前面的#号就可以了
LoadModule rewrite_module modules/mod_
(2)AllowOverride Not Enabled
服务器可能没打开AllowOverride。如果的AllowOverride设置的是None,那.htaccess将被忽略。正确的设置:
Options FollowSymLinks
AllowOverride All
也需要在DocumentRoot打开AllowOverride:
# „ other directives„
AllowOverride All
注意,以上修改完成后,要重启Apache才能生效。
固定链接的其它知识:
1. 首先介绍下,固定链接。
固定链接是你个人博客里的文章、分类以及其他页面的固定链接地址。如果博客的固定链接变化,会造成其他人通过之前的链接地址来浏览博客时出错,所以每篇博客的链接地址都应该固定,而且永久不改———这也是固定链接名字的由来。
固定链接的类型:目前共有三种基本的类型:
(1)默认:/?p=N N是文章ID
(2)mod_rewrite: “漂亮的链接”
使用mod_rewrite或lighttpd可以生成更好看的链接地址(查看 漂亮的链接),有各种个样的链接格式,最常见、最通用的格式如下
/category/post-name/
/year/month/day/post-name
(3)PATHINFO: “比较好的链接”
PATHINFO类型的链接地址和mod_rewrite类型的地址看起来很像,唯一的区别是在前面多了/,如下:
//yyyy/mm/dd/post-name/除此之外,和mod_rewrite类型的地址一样,也具有同样的可配置性。任何mod_rewrite链接地址可以做的事情,PATHINFO也可以。
2. 选择你的固定链接结构
在设置 → 固定链接,可以选择默认格式,也可以使用结构标签在自定义结构的输入框里输入你想要的格式。如果想激活PATHINFO类型的链接地址,只要将地址以/开头。
确保以%post_id%或%postname%结尾(如/%year%/%monthnum%/%day%/%postname%/),以便每个地址对应唯一的一篇博客。
出于性能上的考量,不推荐以博客类型、博客标签、博客作者、博客标题作为固定链接地址的开头这些都是纯文本的属性(field),使用它们作为链接的开头,WordPress需要更多的时间区分文章(Post)地址和页面(Page)地址,而且为了区分还要在数据库里存储额外的信息,带来不必要的开销。推荐使用数字的属性(field)作为链接的开头,如年份或文章ID。
%year%
文章发表的年份,四位数,如 2004
%monthnum%
月份,如 05
%day%
天,如 28
%hour%
小时,如 15
%minute%
分钟,如 43
%second%
秒,如 33
%postname%
文章标题的别名 (编辑文章/页面时的别名栏)。对于文章标题为 “This Is A
Great Post!” 的%postname%是this-is-a-great-post(查看 仅仅使
用 %postname%)。 出于性能原因,强烈不建议使用%postname%作为链接地址的开头。 *** 注 – 从WordPress 2.0开始这条建议可以无视了。
%post_id%
文章的唯一ID,如 423
%category%
分类的别名 (新建/编辑分类时的别名栏)。 有层级关系的类型在链接地址里就像有层级的目录。 出于性能原因,强烈不建议使用%category%作为链接地址的开头。
%tag%
标签的别名(新建/编辑标签时的别名栏)。 出于性能原因,强烈不建议使用%tag%作为链接地址的开头。
%author%
作者的别名。
3.自定义固定链接的问题。
当创建或更新“漂亮”固定链接结构时,WordPress会生成新的重写规则并插入到.htaccess文件中。如果出错,WordPress会提示You should update
your .htaccess now并且告诉你哪些重写规则需要拷贝和粘贴到.htaccess文件(粘贴到文件的末尾)。
WordPress不会删除.htaccess中任何已存在的重写规则或目录。如果有其他重写规则,把它们放到WordPress的重写规则的前面。
(1)我的.htaccess在哪里?
Wordpress的和.htaccess都在博客地址目录下,博客地址在设置,常规选项里可以查到。由于有个”.”在文件名中,FTP客户端可能看不到,除非你修改FTP客户端的设置,使其显示所有文件,包括隐藏文件。如果你是通过Godaddy Hosting Connection installation来安装WordPress的话,有些主机提供商(如Godaddy)不显示或不允许你修改.htaccess文件。
(2)创建和编辑(.htaccess)
如果还没有.htaccess文件,创建一个。如果能通过shell或ssh连上服务器,直接输入touch .htaccess就创建了。如果使用FTP上传文件,可以在本地创建文件,如ss,上传到WordPress的跟目录,然后重命名为.htaccess。
可以通过FTP,shell或主机提供商可能提供的控制面板来编辑.htaccess。
如果.htaccess有错而导致(“Internal Server Error (500)”),可以使用FTP或控制面板删除出错的.htaccess。
(3)自动更新 .htaccess
如果WordPress不能自动更新.htaccess,它会告诉你原因,如.htaccess文件可写,才会自动更新,但是目前不是可写的„,这个提示在设置→固定链接面板的底部。
想让WordPress自动更新,必须给WordPress开通.htaccess文件的写权限. 确切的权限依赖于你的服务器环境,尝试给文件拥有者打开写权限,然后作者所在组打开写权限,然后所有人,一步一步测试,一旦WordPress有了写权限,则不要再进一步放宽权限。
(4)不使用mod_rewrite的固定链接
漂亮的固定链接通常需要mod_rewrite,但是IIS(Windows servers)不支持mod_rewrite。(如果在Windows上使用Apache 2.0.54,mod_rewrite可以正常工作,需要在打开这个模块。)
如果使用IIS 7且有服务器的管理权限,可以使用Microsoft的URL Rewrite模块。虽然和mod_rewrite不是完全兼容,但是支持WordPress的“漂亮”链接。安装后打开WordPress文件夹下的,添加下面的规则到
ver节点。
4. 固定链接遇到的问题和解决
.htaccess一般性问题
对于WordPress没有生成.htaccess文件或不将新的重写规则写到已存在的.htaccess文件,原因各种各样,按照下面的步骤,一步一步,注意,当且仅当上一步无效后再继续下一步。
(1)修改权限: 使用chmod将 .htaccess的权限改为666,以便使用template
editor编辑,但是不推荐这样做,因为这样的话其他有编辑模板权限的用户也能编辑.htaccess,可以将权限改为660。
(2)服务器阻止修改: 服务器有可能阻止了SERVER_SOFTWARE变量的设置,导致生成.htaccess失败。如果确定使用的是Apache,修改wp-includes/,跟着下面的步骤走。
5.修复其他问题
如果正确生成.htaccess但固定链接还是有问题,到WordPress论坛How To版发帖子求助。
AllowOverride Not Enabled
服务器可能没打开AllowOverride。
如果的AllowOverride设置的是None,那.htaccess将被忽略。正确的设置:
Options FollowSymLinks
AllowOverride All
也需要在DocumentRoot打开AllowOverride:
# „ other directives„
AllowOverride All
对于使用Mac OS X服务器的,还要修改/etc/httpd/sites/中的AllowOverride。
如果不想设为all,参考Apache Core Features.
翻页有问题
有时候翻到第二页或其他页不能正常工作,地址如下:
/page/2/
/category/categoryname/page/2/
e/year/month/day/page/2/
e/year/month/page/2/
访问上面的任何一个链接,出现提示说: “Sorry, no posts match that
criteria.”
这是.htaccess造成的,删掉,重新生成就好了。
如果还不行,到这里看看this support post.
6.小贴士和小技巧
如果想在Google News上展示你的网站,你的链接地址至少以3个数字结尾,通过%postname%-%post_id%很容易做到,最后生成的URL如/cooking-tips-tricks-344。
地址以.html结尾
使用结构标签很容易做到这一点,如
需要注意的是,这并不会生成静态的html文件,仅仅是用.html作为后缀,页面还是动态生成的。这是否会给SEO带来好处还无定论,但是当你想从WordPress搬家时,将带来很多便利,因为所有页面可以很容易地变成静态的,而且地址不用改变。
避免固定链接地址被解析成归档链接
也许有的人一天顶多发一篇博客,于是使用%year%%monthnum%%day%这样的固定链接,这样的链接会解析成这一天所有的文章,为了避免这个问题,最好使用%year%%monthnum%%day%%hour%。
检查固定链接结构
检查博客是否有固定链接结构,使用如下代码:
if ( get_option(‘permalink_structure’) != ” ) { echo ‘permalinks
enabled’ }
详看:/zh-cn:%E4%BD%BF%E7%94%A8%E5%9B%BA%E5%AE%9A%E9%93%BE%E6%8E%A5
版权声明:本文标题:WordPress固定链接设置方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706018402h498276.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论