这个问题通常有两个可能的原因: 一是 .htaccess文件不可写; 二是 mod_rewrite 模块没有启用。 第一个原因的解决方法: 重设固定连接时,系统要改写.htaccess文件。如果WordPress不能自动更新.htaccess,它会告诉你原因,如.htaccess文件可写,才会自动更新。对于WordPress没有生成.htaccess文件或不将新的重写规则写到已存在的.htaccess文件,原因各种各样,按照下面的步骤,一步一步,注意,当且仅当上一步无效后再继续下一步。 (1)修改权限: 使用chmod将 .htaccess的权限改为666,以便使用template editor编辑,但是不推荐这样做,因为这样的话其他有编辑模板权限的用户也能编辑.htaccess,可以将权限改为660。 (2)服务器阻止修改: 服务器有可能阻止了SERVER_SOFTWARE变量的设置,导致生成.htaccess失败。如果确定使用的是Apache,修改wp-includes/vars.php,跟着下面的步骤走。 第二个原因的解决方法: (1)Apache中的rewrite模块没有开启,去除这一行前面的#号就可以了 LoadModule rewrite_module modules/mod_rewrite.so (2)AllowOverride Not Enabled 服务器可能没打开AllowOverride。如果httpd.config的AllowOverride设置的是None,那.htaccess将被忽略。正确的设置: <Directory /> Options FollowSymLinks AllowOverride All </Directory> 也需要在DocumentRoot打开AllowOverride: <Directory /var/www/html> # … other directives… AllowOverride All </Directory> 修改完毕后,重启Apache服务器使配置生效,就可以了! |