站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:Using Permalinks
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; text-align:center; float:right; padding:6px;"><strong>导航:</strong> [[WordPress:WordPress文档|上一级]] | [[WordPress]] | {{Template:WordPress导航}}</span> <div style="clear:both;"></div> __TOC__ Permalinks是你的个人网络博客帖子永久的URLs也是你的网络博客内容的目录和其它的列表。一个permalink是另一个写博客的人用来链接到你的文章(或者部分),或者用来使你在一个电子邮件信息中发送一个链接到你写的故事中。每篇文章的URL应该是永久的,是永远都不能更改的-既然是''perma''链接。 == Permalink形式 == WordPress有三种基本的permalinks形式: === 默认的: "Ugly" === 默认的看起来像: <pre>http://example.com/?p=N</pre> 在<var>N</var>是<tt>Post ID</tt>数字的位置。它在所有的服务器环境中都能够运行,但是它没有其它的一些选项看起来好看。 === mod_rewrite: "漂亮的 Permalinks" === 这些是permalinks的holy grail(看看[[WordPress:Introduction_to_Blogging#Pretty_Permalinks|漂亮的Permalinks]])。有许多不同的版式,但是最常见的,最通用的,看起来像这样的 <pre> http://example.com/category/post-name/ 或者 http://example.com/year/month/day/post-name</pre> 有的人删除了一些或者所有的有关日期的部分(年,月,日)以形成一个比较简短的permalink样式。<tt>mod_rewrite</tt>permalinks需要Apache的<tt>mod_rewrite</tt>模块。 对于lightpd,请看[[WordPress:Using_Permalinks#External_Resources|外部资源]]。 == PATHINFO: "几乎是漂亮的" == <tt>PATHINFO</tt>permalinks看起来与<tt>mod_rewrite</tt> permalinks非常地相像,但是有一点不同,<tt>PATHINFO</tt>permalinks前面嵌入了<tt>/index.php</tt>,看起来像这样的: <pre>http://example.com/index.php/yyyy/mm/dd/post-name/</pre> 否则的话,他们与"pretty" <tt>mod_rewrite</tt> permalinks是一样的,而且同样地灵活。任何<tt>mod_rewrite</tt> permalinks可以执行的,在<tt>/index.php</tt>部分的帮助下,<tt>PATHINFO</tt> permalinks也可以做。 有一个有用的[http://www.askapache.com/htaccess/rewriterule-viewer-plugin.html 插件]会显示正在使用的permalinks的形式,以及WordPress所使用的内部rewrite规则的详细信息。 == 选择你的 permalink 结构 == 在选项→Permalinks面板上,你可以选择其中一个"普通的"结构,或者使用<i>结构标签</i>,在"自定义结构" 区输入你自己的结构。 要激活PATHINFO permalinks,请以<tt>index.php/</tt>开始,激活你的permalink结构。 === 结构标签 === 你可以使用这些标签来自定义你的"漂亮的"或者 "几乎是漂亮的"permalinks。确保以<tt>%post_id%</tt> 或者<tt>%postname%</tt>结束你的结构(例如<tt>/%year%/%monthnum%/%day%/%postname%/</tt>)这样每个permalink点都会指向每一篇文章。 ;'''%year%''' :帖子发表的年份,四位数字,例如<tt>2004</tt> ;'''%monthnum%''' :一年的月份,例如<tt>05</tt> ;'''%day%''' :一个月的具体日期,例如<tt>28</tt> ;'''%hour%''' :一天的具体时间,例如<tt>15</tt> ;'''%minute%''' :一小时的具体分钟,例如<tt>43</tt> ;'''%second%''' :一分的具体秒数,例如<tt>33</tt> ;'''%postname%''' :一个清洁版的帖子标题(<i>post slug</i> 在编辑文章/页面面板区域). So “这是一篇非常好的帖子!”变成了URI中的<tt>this-is-a-great-post</tt>(请看[[WordPress:Using_Permalinks#Using_only_.25postname.25|只使用<tt>%postname%</tt>]]) ;'''%post_id%''' :帖子独一无二的ID #,例如<tt>423</tt> ;'''%category%''' :一个类别名的清洁版本(新的/编辑目录面板上的<i>category slug</i>区域)。嵌套的子类别在URL上以一个嵌套的子目录出现。 ;'''%author%''' :一个文章作者名的清洁版本。 === 类别基础=== <i>Category base</i>是用在类别permalinks中的一个前缀,通常采取的形式是 <var>category_base</var>/<var>category_name</var> 默认的类别基础是<tt>category</tt>。 自定义permalinks几乎在所有的系统上运行时都没有什么问题,但是在一些情况下,一些问题仍然会产生。 === 只使用 <tt>%postname%</tt> === 如果你将帖子名作为你的permalinks中创建一个例如<tt>example.com/post-title</tt>结构的唯一的因素,rewrite规则,可能使你无法访问网页,例如你的样式表(样式表有一个相似的版式)或者<tt>/wp-admin/</tt>文件夹[在 WordPress 2.0+ 版本中也是这样的吗?]。最好在permalink中添加一些数字数据(例如帖子的ID或者日期),以防止这种情况的发生。此外,WordPress v1.2.x需要使用一些日期结构来为一些功能服务,例如使日历合适地运转。<tt>/%year%/%monthnum%/%day%/%postname%/</tt>通常是一个好的开始。 === 在一篇帖子中的多个类别中使用<tt>%category%</tt> === 当你给一篇帖子指派多个类别的时候,permalink中只能显示一个类别。这个类别将是编号最低的类别(请看[[WordPress:Manage_Categories_SubPanel|管理类别]])。通过所有的类别帖子应该能够正常地访问。 ==使用 "漂亮的" permalinks == 要求必备的条件: *用mod_rewrite模块来安装Apache网络服务器 *在WordPress的主页目录: **激活的[http://httpd.apache.org/docs/1.3/mod/core.html#options FollowSymLinks 选项] **[http://httpd.apache.org/docs/1.3/mod/core.html#allowoverride <tt>FileInfo</tt> 指示]允许(例如 <code>AllowOverride FileInfo</code>, <code>AllowOverride All</code>) **一个<tt>.htaccess</tt>文件(如果这个文件丢失了,当你激活"pretty" permalinks时,WordPress会试着创建它) **如果你想要WordPress自动地更新<tt>.htaccess</tt>文件,WordPress需要拥有对于文件的写权限。 *对于lightpd,请看[[WordPress:Using_Permalinks#External_Resources|外部资源]] 当你创建或者更新一个"pretty" permalink结构,WordPress会产生重写规则,并试着将它们插入一个合适的<tt>.htaccess</tt>文件。如果它不能那样做的话,它就会显示<tt>你现在需要更新你的.htaccess </tt>,并且为你打印出规则让你复制并且粘贴到文件中(将它们放在最后)。 在WordPress 2.0+版本中,你可能只要做一次这样的步骤,因为WordPress在内部重写了。如果你曾经移动了你的WordPress主页目录(<i>Blog address</i>),你就要重复这个步骤。 对于一个现存的<tt>.htaccess</tt>,WordPress会运转得很好,也不会删除任何现有的RewriteRules或者其它的指示。如果你有其它的<tt>mod_rewrite</tt>规则,将你的规则放在WordPress的前面。 === 我的 <tt>.htaccess</tt> 文件在哪儿? === WordPress的<tt>index.php</tt> 和 <tt>.htaccess</tt>文件应该在一起出现在目录上,有你的总选项网页上<i>Blog address (URI)</i>设置显示。因为文件名是以一个点号开始的,通过一个FTP client可能看不见这个文件,除非你更改了FTP工具的参数选择,使其能够显示所有的文件,包括那些隐藏的文件。 === 创建和编辑 (<tt>.htaccess</tt>) === 如果你还没有一个.htaccess文件,创建一个。如果你有shell或者ssh权限进入你的服务器,一个简单的<code>touch .htaccess</code>命令就能创建文件。如果你使用FTP来传输文件,在你的本地电脑上创建一个文件,命名为<tt>1.htaccess</tt>,将它上传到你的WordPress文件夹的根上,然后将它重新命名为<tt>.htaccess</tt>。 你可以通过FTP,shell,或者(有可能)你的主机的[[WordPress:Using cPanel|控制面板]]来编辑<tt>.htaccess</tt>文件。 如果你的<tt>.htaccess</tt>文件包含有错误,并且破坏了你的站点("内部服务器错误 (500)"),你就要使用FTP或者你的主机的[[WordPress:Using cPanel|控制面板]]来删除劣质的<tt>.htaccess</tt> 文件。 === 自动上传 <tt>.htaccess</tt>=== 如果WordPress不能自动上传你的<tt>.htaccess</tt>文件,它会向你显示一些内容像<tt>如果你的.htaccess文件是可写的,我们就能自动地上传,但是你的文件不是可写的…</tt>在选项&rarr附近显示;Permalinks面板上。 如果你想要WordPress来自动地上传这个文件,你就需要[[WordPress:Changing_File_Permissions|给 WordPress 写 .htaccess文件的权限]]。所需要的精确的权限取决于你的服务器设置。试着给用户提供写权限,然后给小组提供,然后给世界提供写权限,在每次更改权限后,测试一下;WordPress一旦成功地编辑了文件,不要再添加更广的写权限了 在应用了permalinks之后,你应该将权限设置为更强的,像660或者644,来阻止服务器上的其他人潜在地访问了它。 == 没有<tt>mod_rewrite</tt>的Permalinks == "Pretty" permalinks需要<tt>[[WordPress:Glossary#mod_rewrite|mod_rewrite]]</tt>, IIS(在Windows服务器上很常见)并不支持<tt>mod_rewrite</tt>。(如果你在Windows上使用了Apache 2.0.54,倘若<tt>mod_rewrite</tt>在<tt>apache\conf\httpd.conf</tt>中激活了,它便能够运行。)但是你可以尝试PATHINFO permalinks;将<tt>index.php/</tt>放在你自定义的permalinks 结构的开端: /index.php/%year%/%monthnum%/%day%/%postname%/ 这个选项并不是总是能够运行,特别当WordPress在IIS 6 上运行的时候。要使这个选项在IIS 上运行,将这2行添加到一个php.ini文件,在你的网络根上储存这个文件(<cite>http://blog.taragana.com/index.php/archive/wordpress-tip-on-permalink-options</cite>): cgi.fix_pathinfo = 1 cgi.force_redirect = 0 还有一个方法就是使用IIS的自定义401redirects。它需要你的网络主机允许你添加一个自定义的404redirect,但是它不需要你安装任何第三方的mod_rewrite软件,而且它也不需要你的permalink结构以<tt>/index.php/</tt>开始。 * http://www.keyboardface.com/IIS-Permalinks/ * 另一个非常简单的自定义404redirect解决办法:http://tech.einaregilsson.com/2007/07/30/pretty-wordpress-permalinks-on-iis/ 如果你在你的服务器上有管理者特权,你可能对这些解决办法感兴趣: *[http://www.binaryfortress.com/wordpress-url-rewrite/ 关于运行在IIS上的博客的WordPress URL Rewrite 插件] **Dean Lee的[http://www.deanlee.cn/wordpress/url-rewriting-for-wordpress-under-iis/ 在IIS下的为WordPress的URL Rewriting] == 解决 Permalink 问题 == === 解决<tt>.htaccess</tt> 产生 问题=== 如果你安装的WordPress没有产生一个.htaccess文件或者如果WordPress没有在你现存的.htaccess文件写下新的规则,可能有两种原因导致了这种情况。一步一步地运行,只有在前一个步骤不能运行之后,再开始下一个步骤。 <ol> <li>'''改变文件权限:'''你必须[[WordPress:Changing File Permissions|<tt>改变文件权限</tt>]] <tt>.htaccess</tt>文件权限改为6666,并且用WordPress[[WordPress:Editing_Files#Using_the_Built-in_Editor|模板编辑器]]对它进行编辑,但是并不推荐你这样做,因为如果你这样做了,你的博客上的任何用户,可以编辑模板的,都可以编辑文件。你可以将权限改为660,这样文件只有对服务器是可写的,这也会有一些限制。</li> <li>'''服务器封锁:'''你的主机可能封锁了<tt>服务器_软件</tt>变数,这可能导致WordPress不能产生.htaccess。如果你确定你的服务器正在运行Apache,你可以通过更改你的<tt>wp-includes/vars.php</tt>文件,迫使WordPress相信你的服务器正在运行Apache。按照下面的这些步骤,来做出这些更改。</li> <ul> <li>使用你的WordPress管理面板上内置的文件编辑器来打开<tt>wp-includes/vars.php</tt>文件。要导航到这个面板,先登录到WordPress,点击"管理",然后点击"文件",下滚至低端,在"其它的文件"标题下的文本框中输入<tt>wp-includes/vars.php</tt>。 查找<pre style="font-size:0.7em">$is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;</pre>并将它替换为<pre style="font-size:0.7em">// $is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;</pre> <li>在a new line under <pre style="font-size:0.7em">// $is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;</pre> and type in <pre style="font-size:0.8em">$is_apache = 1;</pre></li>下添加一行 </ul> <li>''' XAMPP的用户 (Windows):'''一些版本的[http://www.apachefriends.org/en/xampp.html XAMPP]在默认情况下不能够<tt>mod_rewrite</tt>(虽然它在Apache中''得到了'' 汇编)。是它能够-随之使WordPress能够写<tt>.htaccess</tt>文件,需要这个文件来创建pretty permalinks-你必须打开<tt>apache/conf/httpd.conf</tt>并且不要注释<tt>LoadModule rewrite_module modules/mod_rewrite.so</tt>(例如,删除行首的hash/pound标记。</li> </ol> == Permalinks, .htaccess, 和 MS Frontpage == 关于Microsoft Frontpage的一个注释:许多服务器(共享的和专用的)有许多不同的主机公司建造和维护,这些服务器都有用apache构造编译的<tt>mod_frontpage</tt>,在许多情况下,在每个虚拟服务器上还安装了Frontpage 服务器 扩展。这是最常见不过的了,如今许多大多数主机公司的服务器构造过程都使用了许多/大多数的可执行的二进制,这些可执行码,包括了mod_fronpage和服务器扩展。即使因为扩展与apache结合的方式(和<tt>httpd.conf</tt>文件),你没有使用Frontpage,当你试着查看你的WP安装的时候,你可能得到一个500错误或者一个空白的白色网页(虽然管理面板可能正常地运转),原因就在于你的服务器上存在<tt>extensions/mod_frontpage</tt>。 WordPress会与安装的Frontpage扩展一起恰当地运行,但是peralinks确不能运行,而且来自Wordpress管理界面的对于permalinks部分的'''任何的'''更改,都会导致Frontpage服务器扩展的毁坏,原因就在于给.htaccess文件添加了<tt>mod_rewrite</tt>规则。''但是有一个办法可以解决这个问题。'' === Quick Fixes, Frontpage 或者 Permalinks === '''Frontpage扩展 解决:'''如果你不在乎permalinks,只想让MS Frontpage服务器扩展再次地运行,你只要编辑你的.htaccess文件,并且用rewrite规则,来移除WordPress部分。 '''使用Permalinks:'''如果你不在乎Frontpage(但是你的主机公司安装了扩展) 你就要移除(或者让你的主机公司移除)MS Frontpage 服务器扩展,或者编辑.htaccess文件来移除所有的Frontpage行,只留下WordPress mod_rewrite代码。 === 共同地使用 FrontPage 和 Permalinks === '''最后,一个解决办法。''' 关于这个问题论坛上有几个主题,而且目前为止,没有出现解决问题的办法。 一般来说,在一个安装了FrontPage服务器扩展的Unix服务器上,WordPress运行得很好,你可以编辑和发表网页(用[http://www.microsoft.com/frontpage/ Microsoft FrontPage]) — '''直到''' —你更改一下permalinks(例如,对于关于日期的种类,我喜欢/2005/04/等等)。我通常像那些问及permalinks等等的人建议那种形式的URI,因为那是w3c推荐的方法(看看http://www.w3.org/Provider/Style/URI )。 现在问题在于FrontPage使用.htaccess文件(WordPress mod_rewrite规则必须访问这个文件)它的"发表"和 "网页作者" 设置。一旦WordPress mod_rewrite代码被添加到那个文件中,两种情况会发生—permalinks不再运行,Frontpage服务器扩展也损坏了。 我尝试了无数的方法,来试图解决这个问题,包括试着使用rewrite规则,"忽视"FrontPage使用的<tt>%{HTTP_USERAGENT)%</tt>,使用一个第二个的AccessFilename <tt>.wpaccess</tt> to the <tt>httpd.conf</tt> 文件,以及许多其它的内容,没有什么部件能够使FrontPage''和''管理的使用,与WordPress中的permalinks能够同时使用。 解决办法事实上非常简单,我意外地发现了这个解决办法。 如果你使用或者想要在WordPress中使用FrontPage(或者如果你的主机软件包先前就配置为这样的),你可能要在你的服务器上完成以下的步骤,或者让你的主机公司为你完成这些步骤。 Microsoft FrontPage 创建了以下的目录 <pre>_vti_bin</pre> 嵌套在里面了,它创建了<pre>_vti_adm</pre>和<pre>_vti_aut</pre> 除了在你的站点(或者WordPress)根文件夹所有的这些目录中,你会找到额外的<tt>.htaccess</tt>文件。 在这些三个目录以及在根目录上,在所有的<tt>.htaccess</tt>文件上面,你只要添加一行: <pre> 选项 +FollowSymlinks </pre> 其中每一个可能有或者还没有这一行 <pre>选项没有</pre> 编辑并且保存每个<tt>.htaccess</tt>文件,你便完成了。现在一切都运行得非常的好,包括FrontPage,和你选择的permalinks。 === 最后的一个记录 === 在一个个人记录中,我喜欢使用Frontpage来管理/维护站点,大概在’96,我就开始使用Frontpage了,一直到现在,因为我大多数的工作都是UNIX服务器上完成的,不管怎么说我配置了这个来使用外部编辑器来编辑所有的内容,包括对于php文件的Zend Studio,关于样式表的Bradbury TopStyle,关于图像的Adobe ImageReady/Photoshop等等。我或多或少只将Frontpage作为一个方面的方式来管理站点和访问所有的内容,等等。 然后当我点击任何应用软件中的"保存" 按钮的时候,按钮就会使Frontpage将任何的变化直接地保存到服务器上,而不需要FTP’ing文件,等等。它的确能够帮助许多过程快速地完成,permalink损坏后,去年一年左右,我的确决定情况地不稳定,因为我不需要使用permalink或者不需要使用Fontpage,或者继续重新安装FP扩展。一方面我找到了一个方式来为我"运行的" 站点制作一个.htaccess ,然后在我做其它的事的时候,将它更改问FP .htaccess (permalinks 当然不会运转), 不管哪种方法都是一件令人劳苦的事情。 这个在大多数的FP版本以及如今使用的大多数的扩展的unix版本上应该能够运行。 --[[WordPress:User:Chradil|Chradil]] 2006年17时24分 (格林尼治标准时间) === 长的 Permalinks === 当你在一封电子邮件中使用额外长的permalinks并且将permalinks发表到评论和聊天中时候,一些长的permalinks"就被砍断了"或者只有permalinks上的第一个部分,被真正地看成是一个链接,其它的部分会被看成是文本。下面有一个例子。 <div style="margin: 5px; padding:5px"> <tt style="font-weight:bold; color:#036; text-decoration:underline; font-size:0.9em">http://yourdomain.example.com/2005/10/4/article-about-joe-fred-sally-and-bog</tt></div> 结果会是: <div style="margin:5px; padding 5px"><tt> <span style="font-weight:bold; color:#036; text-decoration:underline; font-size:0.9em">http://yourdomain.example.com/2005/10/4/article</span>-about-joe-fred-sally-and-bog</tt> </div> 点击一个较低的链接,用户会得到一个404网页没有发现的错误。如果你有使用很长的permalink文章标题的倾向,采取以下的步骤来防止这个问题的发生。 1.核实一下你真的在使用[[WordPress:Using Permalinks|Permalinks]]。 2.编辑你的<tt>.htaccess</tt>文件并且添加以下的内容: <pre style="font-size: 0.7em"> RewriteRule ^post/([0-9]+)?/?([0-9]+)?/?$ /index.php?p=$1&page=$2 [QSA] </pre> 3.给它测试一下。找到文章的ID数字,在你的浏览器上输入以下的内容(和你的信息),而且你应该再次导向你的文章: <pre> http://yourdomain.example.com/post/(the ID #) </pre> 大多数电子邮件软件并不会切断由angle-brackets (< and >)描绘的URLs,这一点也很值得注意,因此当你在电子邮件中粘贴URLs的时候,你应该将URLs写作: <div style="margin: 5px; padding:5px"> <tt>Read my blog post at <<span style="text-decoration:underline; color:blue">http://yourdomain.example.com/2005/10/4/article-about-joe-fred-sally-and-bog</span>></tt></div> 此外,一些相当好的电子邮件clients,在你编写一个纯文本的电子邮件的时候,给你提供一个"预先格式"电子邮件。粘贴链接的时候,使用"预先格式"选项,会迫使电子邮件client在链接中不插入换行符。 === 解决其它问题 === 如果你的<tt>.htaccess</tt>的产生是正确的,但是Permalinks不能运行,下面的内容可能是一个问题。如果问题继续存在,在[http://www.wordpress.org/support WordPress论坛的]中发表一个短信 怎样分段。 ; '''AllowOverride 没有被激活''' :你的服务器也许没有激活AllowOverride指示。如果AllowOverride指示在你的Apache <tt>httpd.config</tt>文件中设置为<tt>None</tt>,那么<tt>.htaccess</tt>文件便被完全地忽略了。在这种情况下,服务器甚至不会尝试阅读文件系统中的<tt>.htaccess</tt>文件。当这个指示被设置为<tt>All</tt>的时候,那么任何拥有<tt>.htaccess</tt>Context的,都允许在.htaccess文件中。<tt>httpd.config</tt>中激活的AllowOverride指示的例子: <pre> <Directory /> Options FollowSymLinks AllowOverride All </Directory> </pre> 你也可能要在你的文件根上激活AllowOverride指示: <pre> <Directory /var/www/html> # ... other directives... AllowOverride All </Directory> </pre> ; 你也可能要为站点更改AllowOverride设置。这当然是使用Mac OS X服务器时,发生的情况,当时也可能在其它的系统上也适用。通常你可以在<tt>/etc/httpd/sites/</tt>中找到站点的配置文件。 ; 如果你不想将AllowOverride设置为所有的(如上面的那样)那么你的AllowOverride 列表上必须包括FileInfo指示。你必须重新地启动你的Apache 服务器使任何的<tt>httpd.config</tt>文件更改起效,阅读关于[http://httpd.apache.org/docs-2.0/mod/core.html#allowoverride Apache Core 特色]。 ; 导航到的页面不能运行:有时候导航到第二个(或者下一个)文章的页面,可能并不象期望地那样能够运行。你的网页可能使用下面的这些URIs之一产生了到另一个网页的链接: <pre> http://www.example.com/page/2/ http://www.example.name/category/categoryname/page/2/ http://www.example/year/month/day/page/2/ http://www.example/year/month/page/2/ </pre> ; 点击那些链接中的一个的结果是网页载入了所有的边缘内容(页眉,页脚,工具条),却没有载入带有文章的网页,或出现一个错误信息:"对不起,没有文章匹配那个标准。" ; 这是由于WordPress产生在<tt>.htaccess</tt>文件中的一个小干扰。要解决这个问题,删除你的.htaccess文件的内容,并且重新地创建这个文件。 <ol> <li>在控制面板上,转到管理 > 文件([[WordPress:Editing_Files|编辑文件的更多信息]])</li> <li>点击链接到你的 .htaccess 文件来编辑它的内容</li> <li>复制文件的内容并且将它粘贴到文本编辑器中的一个文本文件中。这是一个预防措施,以防止你的.htaccess文件有redirects的手工条目,或者对其它的[http://www.javascriptkit.com/howto/htaccess.shtml 便利的 htaccess tricks]</li>的拒绝</li>。 <li>从你的.htaccess文件中删除所有的内容,并且点击更新文件按钮。</li> <li>在控制面板上, 转向选项 > Permalinks。</li> <li>点击更新Permalink结构按钮来为你的permalinks产生新的rewrite规则。</li> <li>使用一个先前断掉的链接来测试结果。</li> <li>将任何的手工htaccess条目返回到你的文件 (将手工htaccess 条目放在<tt># BEGIN WordPress</tt>之前或者放在 <tt># END WordPress</tt> 行之后。)</li> </ol> ; 通过从服务器中删除<tt>.htaccess</tt>文件,创建一个新的空.htaccess文件,将文件权限改为666,然后在选项 > Permalinks通过点击更新Permalinks结构按钮,产生一组新的htaccess规则,你可以执行相似的步骤。 ; 如果这样做仍然不起作用,看看WordPress支持论坛,特别是[http://wordpress.org/support/topic/51613#post-283222 这篇支持的文章]。 ; '''文章的Permalinks 不能运行''' :如果你试着导航到一个最新创建的[[WordPress:Glossary#Page|网页]]但是遇到了一个错误,你可能需要[[WordPress:Permalinks_Options_SubPanel|更新你的Permalink 结构]]。记住每次你给WordPress添加了一个新的静态的网页,新的规则必须产生并且更新到<tt>.htaccess</tt> (WordPress 1.X)或者更新到内部的rewrites 数组(WordPress 2.X)。 ; ''' 到 Ultimate Tag Warrior tag pages 的permalinks不能够运行''' :如果你正在WordPress2.X上使用UltimateTagWarrior插件的时候,你在本地标签URLs上得到了404错误,那是因为由WordPress产生的内在的rewrites,过度地贪婪了,在UTW的rewrite规则有机会之前,便得到了调用。只有使用一个自定义的permalink结构(像 <tt>/%postname%/</tt>)时,通常才会出现这样的情况。要解决这个问题, [[WordPress:Permalinks_Options_SubPanel|转变你的 Permalink 结构]]为 "以日期和名称为基础" 或者改进 UTW 插件将UTW rewrites放置到内部rewrites数组的上端。 [http://www.naturalsearchblog.com/archives/2007/01/20/getting-404-errors-on-ultimate-tag-warrior/ 关于这个的更多的信息]。 ; '''Permalinks 在运行但是没有页面返回''' :有些版本的PHP4.4x和5.5x,当与一些版本的Apache2.x用在一起的时候,会有一个程序错误,致使mod_rewrite不能执行。更多信息可以查看http://bugs.php.net/bug.php?id=35096 和http://bugs.php.net/bug.php?id=35059. === 更多的帮助 === 如果这些步骤都不起作用,在[http://codex.wordpress.org Codex], [[WordPress:Troubleshooting|发现并解决故障]], 或者在[http://wordpress.org/support/支持论坛]上搜索你的问题。 == 小贴士和 Tricks == === 使你的文章以 <tt>.html</tt> 结束=== 有一个简单的方法可以使你的文章以一个<tt>.html</tt>结束,使用以上的结构标签。遵循适当地结束permalinks的例子,你可以有一个拥有这个规则的网页http://yoursite.com/2006/01/01/happy-newyear.html: <pre> /%year%/%monthnum%/%day%/%postname%.html </pre> 注意这个不会产生静态的<tt>.html</tt>文件。它只是添加<tt>.html</tt>扩展,网页还是动态地产生了。SEO受益于这个是有争议的,但是如果你需要从WordPress中迁移出去,这个还是有用的,因为网页可以轻易地被设置为静态的,并且保持它们的URL结构。 WordPress2.3之前的版本缺少规范的URLs,使得添加<tt>.html</tt>变得有用(迫使URL变得规范)。现在它提供了有限的,如果有的话,SEO好处(查看外部资源,得到更加深入的分析)。 == 外部资源 == * 用这个WordPress插件[http://www.askapache.com/htaccess/rewriterule-viewer-plugin.html 浏览你所有的permalinks 和 rewrites] 。 * [http://www.cypherhackz.net/archives/2007/03/25/beautify-your-urls-with-permalinks/ 用Permalinks美化你的URLs] * [http://www.askapache.com/htaccess/apache-htaccess.html Apache htaccess 代码例子] — 剪贴并且在这儿粘贴正确的.htaccess代码。 * [http://www.emilyrobbins.com/how-to-blog/how-to-configure-wordpress-to-create-search-engine-friendly-urls-for-permalinks-242.htm 怎样配置WordPress来为Permalinks创建搜索引擎有好的URLs] * [http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html URL Rewriting 指南] — the whats,方式和理由 * [http://www.tomrafteryit.net/boost-search-engine-optimisation-seo-using-permalinks/ 使用Permalinks推进搜索引擎最优化] * [http://www.homebizpal.com/blogging/wordpress/understanding-wordpress-permalinks/ 了解 WordPress Permalinks] * [http://www.htaccesselite.com/htaccess/ mod_rewrite 和 htaccess 帮助论坛] * [http://www.micronovae.com/ModRewrite/articles/CleanPermalinksWordpress.html 用IIS using .htaccess清洁 Permalinks] * [http://blog.nix.is/lighttpd-rewrite-rules-for-wordpress 用lightpd rewriting URL] * [http://sudhaker.com/2008/04/wordpress-permalinks-lighttpd/ 有Lighttpd的 Permalinks] — 使用 mod_magnet; 在1.4.2+上运行。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:WordPress导航
(
查看源代码
)(受保护)