Nginx 解决方案:

在 /etc/nginx/config.d/default.conf文件的 loction \ {} 中添加

location / {
 # First attempt to serve request as file, then
 # as directory, then fall back to index.html
       try_files $uri $uri/ =404;
 
       if (-f $request_filename/index.html){ 
           rewrite (.*) $1/index.html break; 
       } 
       if (-f $request_filename/index.php){ 
           rewrite (.*) $1/index.php; 
       } 
       if (!-f $request_filename){ 
           rewrite (.*) /index.php; 
       }
 }

 //这行是为了防止打开后台、插件页等打不开的
 rewrite /wp-admin$ $scheme://$host$uri/ permanent;

Apache解决方案:

etc/httpd/conf/httpd.config 文件

原因一:Apache中的rewrite模块没有开启,去除这一行前面的#号就可以了

LoadModule rewrite_module modules/mod_rewrite.so

原因二:AllowOverride Not Enabled;服务器可能没打开AllowOverride。如果httpd.config的AllowOverride设置的是None,那.htaccess将被忽略。找到以下2处位置并修改:

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html>
# … other directives…
AllowOverride All
</Directory>

修改完成后,要重启Apache才能生效。

service httpd restart

发表评论

邮箱地址不会被公开。 必填项已用*标注