请输入您要查询的百科知识:

 

词条 wordpress固定链接
释义

什么是固定链接

固定链接(Permalink)是博客日志、分类及其他博客内容列表的永久URL。其他博客主人可以使用固定链接链接到你的文章上,你也可以在email中发送某篇日志的链接。所有日志的URL应为永久性、固定不变的-这就是所谓的固定链接。

固定链接的类型

默认形式(不美观的)

如:http:// example .com/?p=N 这里的N是Post ID号。它能够在所有服务器环境下使用,但这种形式的URL看起来不是很好看。

mod_rewrite类型(美观的) 这些固定链接样式可谓浅显易懂、赏心悦目。虽然这种链接的格式多种多样,但最常见的形式还是

category/post-name/或 /year/month/day/post-name。这种类型的 某些用户移除了日期元素(日,月,年)以使得永久链接格式变得更精简。

固定链接可在以下环境中工作:

具有mod_rewrite模块的Apache网络服务器 Microsoft IIS7 + 带有URL Rewrite 1.1的网络服务器 + 作为FastCGI运行的模块与PHP5 使用404处理程序或 mod_rewrite 或 mod_magnet 的LighttpdPATHINFO(完美的) PATHINFO 固定链接形式跟mod_rewrite 固定链接形式很相像,只有一点不同:前者插入了 /index.php ,如下:

/index.php/yyyy/mm/dd/post-name/ 除此之外,PATHINFO就跟mod_rewrite 固定链接一样完美了,其灵活性也很相似。mod_rewrite 固定链接所能达到的效果,PATHINFO 固定链接通过/index.php部分也能做到。

wordpress固定链接设置方法

进入wp后台->设置里面的固定链接->自定义结构

wordpress固定链接的结构

这里有几个结构可以作为参考:

%year% 日志发表的年份,四位数字

%monthnum% 日志发表的月份

%day% 日志发表的日期

%hour% 日志发表的时间-小时

%minute% 日志发表的时间-分钟

%second% 日志发表的时间-秒

%postname%日志标题的缩略版本(日志/页面编辑界面上的日志别名)。因此“This Is A Great Post!”在URI中会变成this-is-a-great-post。

%post_id%日志的唯一ID,如123

%category%分类名称的缩略版本(添加新分类/编辑界面上的分类别名)。嵌套的子分类会作为嵌套子目录出现在URI中。出于运行方面的考虑,不推荐以%category%作为固定链接的起始部分。

%tag%标签名称的缩略版本(添加新标签/编辑界面上的标签别名)。出于运行方面的考虑,不推荐以%tag%作为固定链接的起始部分。

%author%作者名称的缩略版本.

既然知道了我们就可以对这些开始组合了。

几种组合方式如下

/?p=%post_id%(默认的)

/%year%/%monthnum%/%day%/%postname%/(年/月日/日志名)

/%year%/%monthnum%/%postname%/(年/月/日志名)

/%monthnum%/%day%/%postname%/(月/日/日志名)

/%year%/%monthnum%/%day%/%post_id%/(年/月日/日志id号)

/%year%/%monthnum%/%post_id%/(年/月/日志id号)

/%monthnum%/%day%/%post_id%/(月/日/日志id号)

/archives/%post_id%(/archives/日志id号)

/archives/%postname%(/archives/日志名)

/%post_id%(/日志id号)

/%postname%(/日志名)

/%category%/%postname%.html (分类/日志名.html)

/%category%/%postname%.htm(分类/日志名.htm)

/%postname%.html(/日志名.html)

/%postname%.htm(/日志名.htm)

/%post_id%.html(/日志id号.html)

/%post_id%.htm(/日志id号.htm)

常用的就是以htm后者html方式结尾的。当然这个可以随你的喜好自由改变。

使用固定链接的一些问题

常见的几个问题

若是以/%category%/%postname%/这种方式来自定义固定链接的时候打开的网址可能会出现乱码,可能会打不开页面,那是因为分类目录和文章名字是中文引起的,这样我们可以使用英文的别名来解决。

在创建wordpress固定链接的时候会出现别名设置,选择合适的英文或者拼音

在发布文章的时候在文件标题下方有一个固定链接,选择编辑即可。

使用固定链接的必要条件

具有mod_rewrite模块的Apache网络服务器 在WordPress主目录下 激活 FollowSymLinks选项 允许FileInfo directives(如 AllowOverride FileInfo 或 AllowOverride All) 一个.htaccess文件(若该文件缺失,WordPress会尝试在用户激活美观的固定链接时创建一个新文件) 如果你希望WordPress自动更新.htaccess文件,需要为WordPress赋予该文件的写入权限 当你新建或更新了一个“美观的”固定链接结构后,WordPress会生成重写规则并尝试将重写规则插入适当的.htaccess文件。如果WordPress无法将重写规则插入.htaccess文件,就会显示You should update your .htaccess now(请立即升级你的.htaccess文件)这样的信息,然后输出重写规则,让你复制并粘贴到文件中(将规则置于文件结尾处)。

在WordPress 2.0以及更高版本中,你可能只需要执行一次以上动作,因为WordPress会在内部运行重写规则。如果移动了WordPress主目录的地址(博客地址),就需要重复以上动作。

WordPress会与已有的.htaccess文件合作愉快,也不会删除任何已存在的重写规则或其他指令。如果你有其它mod_rewrite规则,请将你的规则优先于WordPress生成的mod_rewrite规则。

win主机下的问题

“美观的”固定链接通常会要求使用mod_rewrite,而IIS(常见于Windows服务器)却不支持mod_rewrite。(如果你在Windows上使用Apache 2.0.54,mod_rewrite可能会运行,前提是要在apache\\conf\\httpd.conf.中激活mod_rewrite)。

使用IIS 7并具备服务器管理权限时,可以使用Microsoft的URL重写模块来代替mod_rewrite。虽然IIS 7不完全兼容mod_rewrite,但它支持WordPress的固定链接。Microsoft的URL重写模块安装完毕后,在WordPress目录下打开web.config文件,将以下规则添加到system.webServer 元素中:

<rewrite>

< rules>

< rule name="Main Rule" stopProcessing="true">

< match url=".*" />

< conditions logicalGrouping="MatchAll">

< add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

< add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

< /conditions>

< action type="Rewrite" url="index.php" />

< /rule>

< /rules>

< /rewrite>

IIS网站上有一份关于Microsoft的URL重写模块详细的安装指南,该模块可用于 x64 与x86系统。

如果这个方法行不通,还可以试试PATHINFO链接;将index.php/放在自定义链接结构的开始部分前:

/index.php/%year%/%monthnum%/%day%/%postname%/这个方法并不总能成功,尤其是用在运行于ISS 6上的WordPress时。要让这方法运行在IIS上,需要将以下两行代码添加到php.ini文件并将文件保存在网络根目录下。

cgi.fix_pathinfo = 1

cgi.force_redirect = 0

另一种解决方法是利用IIS的自定义404重定向。这要求你的虚拟主机允许你添加自定义404重定向,不过这并不需要你安装任何第三方mod_rewrite软件,也不需要你的固定链接结构以/index.php/开头。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 9:55:18