600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > wordpress 设置固定链接后 404错误 无法访问文章的解决方案

wordpress 设置固定链接后 404错误 无法访问文章的解决方案

时间:2020-02-21 13:52:12

相关推荐

wordpress 设置固定链接后 404错误 无法访问文章的解决方案

如果你的Apache、PHP、Mysql系统架构是自己配置的,或者使用一些安装包,可能会有这个问题,我曾经遇到过,用第五条解决,如下:

AllowOverride Not Enabled

服务器可能没有打开AllowOverride。如果httpd.config的AllowOverride设置的是None,那.htaccess被忽略。正确的设置:

Options FollowSymLinksAllowOverride All

也需要在DocumentRoot打开AllowOverride:

# ... other directives...AllowOverride All

其他固定链接知识:

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类型的地址看起来很像,唯一的区别就是前面了/index.php,如下: /index.php/yyyy/mm/dd/post-name除此之外,和mod_rewrite类型地址相同,可配置性相同。任何mod_rewrite链接地址可以做的事情,PATHINFO也可以。

2. 选择您的固定链接结构

在设置 → 固定链接可以选择默认格式,也可以使用结构标签在自定义结构的输入框中输入您想要的格式。如果您想激活它PATHINFO链接地址的类型,只要地址index.php/开头。

确保以%post_id%或%postname(如/%)year%/%monthnum%/�y%/%postname%/),以便每个地址对应唯一的博客。

考虑到性能,不建议以博客类型、博客标签、博客作者和博客标题为固定链接地址的开头。这些都是纯文本的属性(field),使用它们作为链接的开始,WordPress区分文章需要更多的时间(Post)地址和页面(Page)为了区分,还需要在数据库中存储额外的信息,必要的费用。推荐使用数字属性(field)作为链接的开头,如年份或文章ID。

%year%

文章发表年份,四位数,如

%monthnum%

月份,如 05

�y%

天,如 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

�tegory%

分类的别名 (新建/编辑分类时的别名栏)。 链接地址中有层次关系的类型就像有层次目录。 性能不推荐tegory%作为链接地址的开头。

%tag%

标签的别名(新建/编辑标签时的别名栏)。 由于性能原因,强烈不建议使用%tag%作为链接地址的开头。

%author%

作者别名。

3. 定制固定链接的问题。

创建或更新时”漂亮”固定链接结构时,WordPress生成新的重写规则并插入.htaccess在文件中。如果有错误,WordPress会提示You should update your .htaccess now并告诉你需要复制和粘贴哪些重写规则.htaccess文件(粘贴到文件末尾)。

WordPress不会删除.htaccess任何现有的重写规则或目录。如有其他重写规则,请将其放入其中WordPress重写规则的前面。

(1)我的.htaccess在哪里?

WordPress的index.php和.htaccess在博客地址目录下,设置博客地址,可以在常规选项中找到。由于有个”.”在文件名中,FTP除非您修改,否则客户端可能看不到它FTP所有文件,包括隐藏示所有文件,包括隐藏文件。假如你通过了Godaddy Hosting Connection installation来安装WordPress一些主机提供商(如Godaddy)不显示或不允许修改.htaccess文件。

(2)创建和编辑(.htaccess)

如果还没有.htaccess创建一个文件。如果可以通过。shell或ssh连接到服务器,直接输入touch .htaccess创建。如果使用FTP可在本地创建文件,如1.htaccess,上传到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能正常工作,需要正常工作apache\conf\httpd.conf打开这个模块。

如果使用IIS 7.可使用服务器的管理权限Microsoft的URL Rewrite模块。虽然和mod_rewrite不完全兼容,但支持WordPress的”漂亮”链接。安装后打开WordPress文件夹下的web.config,添加以下规则 system.webServer节点。

4. 固定链接遇到的问题及解决方案

.htaccess一般性问题

对于WordPress没有生成.htaccess文件或新的重写规则没有写在现有文件中.htaccess文件,原因多种多样,按照下面的步骤,一步一步,注意,当前一步无效后再继续下一步。

(1)修改权限: 使用chmod将 .htaccess使用权限改为666template editor编辑,但不建议这样做,因为其他有编辑模板权限的用户也可以编辑.htaccess,可将权限改为660。

(2)防止服务器修改: 可能会阻止服务器SERVER_SOFTWARE变量的设置导致生成.htaccess失败。如果确定使用,Apache,修改wp-includes/vars.php,遵循以下步骤。

详看:/zh-cn:使用固定链接

5. 修复其它问题

若正确生成.htaccess但是固定链接还是有问题的,到了WordPress论坛How To发帖寻求帮助。

AllowOverride Not Enabled

服务器可能没有打开AllowOverride。

如果httpd.config的AllowOverride设置的是None,那.htaccess被忽略。正确的设置:

Options FollowSymLinksAllowOverride All

也需要在DocumentRoot打开AllowOverride:

# ... other directives...AllowOverride All

对于使用Mac OS X修改/修改服务器etc/httpd/sites/中的AllowOverride。

假如不想设为all,参考Apache Core Features.

翻页有问题

有时翻到第二页或其它页面不能正常工作,地址如下:

/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/

访问上述任何链接,提示: “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%�y%这样的固定链接,这样的链接会分析成今天所有的文章。为了避免这个问题,最好使用%year%%monthnum%�y%%hour%。

检查固定链接结构

使用以下代码检查博客是否有固定的链接结构:

if ( get_option(permalink_structure) != \ ) { echo permalinks enabled }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。