我的问题是在我的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
模块已加载..我已经浏览了互联网上的所有文件..请帮我解决这个问题..我的托管服务器是godaddy ..
它可能是您数据库中损坏的rewrite_rules
字段。
我将“Yoast SEO”安装到了一个现场网站,完全打破了它。我禁用了该插件,但它没有恢复工作。只有默认永久链接才有效。
像其他人一样,我尝试了常用的东西 - 检查.htaccess
,确保mod_rewrite
正在服务器上工作,再次保存永久链接设置,但没有任何工作。主页将加载,wp-admin
页面将加载,但其他一切只是加载“最新帖子”默认页面。
最后,数据库中rewrite_rules
的wp_options
字段出现问题。
我有三个版本的网站(本地,登台和制作),都来自一个SVN基地,所以我知道这不是一个文件问题。但只有本地开发版本正在运行。
我将破坏的实时网站的rewrite_rules
字段的内容替换为我本地开发网站上的工作内容,并且它有效。
真正奇怪的是删除rewrite_rules
字段并让WordPress重建它并没有解决问题。只有替换以前工作版本的网站的内容才有效。
我仍然对此感到困惑,如果我发现有关此问题的任何进一步信息,我将编辑此回复。
不确定这是为时已晚。我面临同样的问题,并通过改变解决
AllowOverride None
至
AllowOverride All
在/etc/apache2/sites-enabled/000-default.conf文件中。希望这会有所帮助。
我有完全相同的问题并通过运行修复它
sudo a2enmod rewrite
然后重启apache。显然这个问题是由mod_rewrite
在ubuntu上可能无法正常工作引起的。
我找到了解决方案here
遭遇同样的问题。在SSL上使用站点不得不更改000-default.conf,而是更改相应的SSL conf文件。添加
在DocumentRoot / var / www / html之后
the following
<Directory "/var/www/html">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
然后重新启动apache2保存我的网站....没有其他工作。问题是Wordpress SSL和SEO插件弄乱了配置文件。
如果你在Ubuntu上,编辑文件/etc/apache2/apache2.conf(这里我们有一个/ var / www的例子):
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
并将其更改为:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
还要检查您的网站/etc/apache2/sites-available/your_site.conf的Apache配置文件:
<Directory /var/www/your_site_path/>
AllowOverride None
</Directory>
并将其更改为:
<Directory /var/www/your_site_path/>
AllowOverride All
</Directory>
你需要做sudo a2enmod重写才能启用模块重写
然后,
sudo service apache2 restart
我希望这可以帮助你!
转到“永久链接设置”页面,然后选择“默认”选项并保存更改。现在测试您的问题是否得到解决。