我的问题是在我的wordpress网站只有默认的永久链接是工作。当我改变永久链接所有网页变得找不到。。只有主页显示。
当我将永久链接更改为postname .htaccess内容更改为
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
默认值为
# BEGIN WordPress
# END WordPress
还尝试使用以下命令获取mod_rewrite的状态
in_array( 'mod_rewrite', apache_get_modules())
它返回1和mod_rewrite是启用在我的服务器上,也检查使用phpinfo(). mod_rewrite
模块加载..我已经通过了所有可用的文件在互联网上..请帮助我解决这个问题..
7条答案
按热度按时间6yoyoihd1#
我在CentOS7上安装的WordPress中有这个问题,解决方案是使用以下命令编辑httpd.conf文件:
并更换
与
然后重新启动Apache:
js81xvg62#
不确定这是不是太晚了。我也面临着同样的问题,通过改变来解决
到
在/etc/apache 2/sites-enabled/000-deault.conf文件中。希望这会有所帮助。
66bbxpm53#
在Ubuntu 22上安装WordPress并为网站配置SSL证书后,我也遇到了同样的挑战,这就是我解决问题的方法。
打开Apache配置文件进行编辑(本例中使用nano)
更改以下行:
致:
打开默认SSL配置文件进行编辑
添加以下代码:
重新启动Apache
您现在应该能够更改站点的永久链接结构,而不会看到404页面未找到错误。
dluptydi4#
如果您使用的是Ubuntu,请编辑文件/etc/apache2/apache2.conf(这里我们有一个/var/www的示例):
并将其更改为:
另外,请检查您的网站/etc/apache2/sites-available/your_site. conf的Apache配置文件:
并将其更改为:
您需要执行sudo a2enmod重写以启用模块重写
然后,
sudo服务apache2重新启动
我希望这对你有帮助!
pn9klfpd5#
可能是数据库中的
rewrite_rules
字段损坏。我安装了“Yoast SEO”到一个活的网站,这完全打破了它。我禁用插件,但它没有回去工作。只有默认的永久链接将工作。
像其他人一样,我试了一些常规的方法--检查
.htaccess
,确保mod_rewrite
在服务器上正常工作,再次保存固定链接设置,但是什么都不起作用。主页会加载,wp-admin
页面会加载,但是其他的一切都只是加载“最新帖子”的默认页面。最后发现是数据库中
wp_options
的rewrite_rules
字段有问题。我有三个版本的网站(本地,舞台和生产),都来自一个SVN基地,所以我知道这不是一个文件的问题,但只有本地开发版本的工作。
我用本地开发站点的工作字段替换了损坏的Live站点的
rewrite_rules
字段的内容,结果成功了。真正奇怪的是删除
rewrite_rules
域并让WordPress重建它并没有解决这个问题。只有用网站以前工作版本的内容替换才能解决这个问题。我仍然对此感到困惑,如果我发现任何进一步的问题,我会编辑这个回复。
sqougxex6#
我遇到了完全相同的问题,并通过运行
然后重新启动了apache。显然这个问题是由
mod_rewrite
可能在ubuntu上不能正常工作引起的。我找到了解决方案here
lqfhib0f7#
我也遇到了同样的问题。在SSL上有一个站点必须更改的不是000-default.conf,而是相应的SSL conf文件。添加
文档根目录/var/www/html之后
然后重新启动Apache 2保存了我的网站...其他都不起作用。问题是WordPress SSL和SEO插件弄乱了配置文件。