更改WordPress的永久链接

时间:2011-03-26 作者:arnab9211

我对这方面还很陌生,因此面临着一些问题。目前,我正在使用WordPress在本地主机上设计一个网站。

我注意到permalink结构在默认模式下不是很吸引人。然后我发现它可以通过设置进行更改,环顾四周后,我发现我想要%postname% 作为我的自定义结构。

更改后,我的所有链接似乎都断了!我无法访问任何页面或帖子。。搜索一段时间后,我发现需要在htaccess文件中进行某些更改。

根据http://codex.wordpress.org/Using_Permalinks 文件中的内容应为:

# BEGIN WordPress 
<IfModule mod_rewrite.c> RewriteEngine On
RewriteBase / RewriteCond
%{REQUEST_FILENAME} !-f RewriteCond
%{REQUEST_FILENAME} !-d RewriteRule .
/index.php [L] </IfModule>
# END WordPress
打开htaccess文件时,内容包括:

# BEGIN WordPress 
<IfModule mod_rewrite.c> RewriteEngine On
RewriteBase /wordpress/ RewriteRule
^index\\.php$ - [L] RewriteCond
%{REQUEST_FILENAME} !-f RewriteCond
%{REQUEST_FILENAME} !-d RewriteRule .
/wordpress/index.php [L] </IfModule>
# END WordPress
但这两者似乎都不起作用。

3 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

您不应该触碰mod\\u重写规则。WordPress将其刷新/重写为。htaccess,只要您在Dashboard->settings->Permalinks上保存设置。如果没有发生这种情况,则说明您的文件权限或本地服务器设置有问题。

此外,强烈建议不要单独使用%postname%作为永久链接结构。就帖子和页面数量而言,站点越大,就会遇到性能问题。

SO网友:fuxia

你的换行符错了。这是正确的代码:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

SO网友:petermolnar

您正在使用apache2 Web服务器吗?模块mod\\u rewrite是否已启用?

如果不是apache,重写将永远不会像这样工作,这是特定于Web服务器的代码。如果只缺少模块,请打开它,如果你告诉我你的平台类型(windows/xp、linux/centos等),如果windows是你的程序名,我会查找如何启用它。

例如,在ubuntu中:

sudo a2enmod rewrite;
sudo /etc/init.d/apache2 restart;
使用WAMP:选择任务栏中的WAMP图标,右键单击,找到mod\\u重写,并使用左键单击启用它。

结束

相关推荐

关于创建一个类似StackExchange上使用的‘Related Posts’查询的建议

我最喜欢stackexchange网站的一件事是,当我查看问题时(或当我键入问题时),边栏上会显示“相关问题”。很明显,那里使用的逻辑比“正常”wp功能先进得多。我知道这是一个非常专有的问题,但是否有关于生成列表所用函数的可用文档?我正在寻找比简单地使用标签来关联帖子更先进的东西。*我本来打算使用YARPP,但在阅读了大量关于该插件如何让网站屈服的评论后,我想最好先问一下。