对固定链接结构的更改会导致主页以外的所有页面都出现404错误

时间:2012-03-11 作者:Tai Squared

在我的站点上更改永久链接结构时,除了主页之外,我的每个页面都会出现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没有帮助。这很可能是一个单独的问题-我会单独问,但我想提供相关的信息。

4 个回复
SO网友:getglad

您是否希望网站呈现为www.thesite。com/news或www.thesite。com/wordpress/news

如果只是www.thesite。com/news,尝试此更改:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

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。

SO网友:Tom J Nowell

在您的问题中,您发布了以下内容:

-rw-r--r-- 1 www-data root      934 2012-03-10 19:13 htaccess
Apache查看一个名为.htaccess 文件系统中不存在。

重命名htaccess -> .htaccess

SO网友:Splash

就我而言:

www文件夹使用“AllowOverride FileInfo”而不是“AllowOverride None”它工作得很好!

结束

相关推荐

All in One Seo and Permalinks

我正在使用多功能搜索引擎优化,对于帖子标题格式选项,我将其作为:%post\\u标题%kewyord1关键字2等关键字1,关键字2是我为我的网站选择的关键字此外,在Permalinks中,我将其命名为/%postname%/,以便帖子名称显示在短链接/url中因此,使用这些配置,如果我在标题中使用“Books”进行发布,它将如下所示:Books关键字1关键字2等但该帖子的短链接或实际url如下所示:www.mydomain。com/书籍它不包含我在搜索引擎优化中指定的所有关键字我试着将Permalink更