在我的站点上更改永久链接结构时,除了主页之外,我的每个页面都会出现404错误。我看到其他问题提到重置permalink结构以使其工作,但这对我不起作用(使用默认值?p=123显示帖子,但改回月份和名称2012/03/示例帖子/导致404)。
将permalink结构设置为month and name后,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
wordpress更新的htaccess文件位于/etc/wordpress目录中,详细信息如下:
-rw-r--r-- 1 www-data root 934 2012-03-10 19:13 htaccess
索引。php文件位于/var/www目录中:
<?php
/**
* Front to the WordPress application. This file doesn\'t do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define(\'WP_USE_THEMES\', true);
/** Loads the WordPress Environment and Template */
require(\'./wordpress/wp-blog-header.php\');
?>
是否需要进行其他更改以允许更改永久链接?
Update
这是在我有root访问权限的Linux设备上运行的。我确实启用了mod\\u rewrite,但得到了相同的结果-默认的永久链接有效,但更改结构无效。我在每个URL中都有/wordpress,比如wordpress/?page\\u id=31,在Wordpress设置中更新URL没有帮助。这很可能是一个单独的问题-我会单独问,但我想提供相关的信息。
SO网友:Ruturaj
您需要在服务器上提供mod\\u重写支持。确保您的服务器支持mod\\u rewrite并且已启用。如果您有权访问服务器的根目录,那么可以从Apache的httpd中启用mod\\u rewrite。conf文件。在任何纯文本编辑器中打开此文件,并找到以下行:
LoadModule rewrite_module modules/mod_rewrite.so
确保这一行没有注释,这意味着确保这一行不是这样的:
#LoadModule rewrite_module modules/mod_rewrite.so
如果是,请删除第一个“#”字符并保存此文件。重新启动服务器,然后再次尝试永久链接。它应该会起作用。
如果它仍然不适用于您,则可能是由于FrontPage扩展。您最近安装了FrontPage扩展吗?如果是,移除这些;我以前也遇到过同样的问题,它似乎是由FrontPage扩展引起的。删除这些文件后,请转到Wordpress管理员并禁用Permalink(将其还原为?p=000结构。然后,从Wordpress中删除.htaccess文件(如果您的根目录中没有安装Wordpress,也可以从根目录中删除)。返回Wordperss管理员并按您的喜好设置新的永久链接。。。看看这次是否有效。
我希望这些信息有帮助。请告知我们这些解决方案是否有助于您解决问题。:-)
干杯
Ruturaj。