当前位置: 首页 > 编程笔记 >

Nginx下修改WordPress固定链接导致无法访问的问题解决

邰昀
2023-03-14
本文向大家介绍Nginx下修改WordPress固定链接导致无法访问的问题解决,包括了Nginx下修改WordPress固定链接导致无法访问的问题解决的使用技巧和注意事项,需要的朋友参考一下

今天下午没事,像以往一样开始做seo的优化,当然牵扯到永久链接,wordpress提供多种类型的链接形式

    1/%year%/%monthnum%/%day%/%postname%/

    2/%year%/%monthnum%/%postname%/

    3/%year%/%monthnum%/%day%/%postname%.html

    4/%year%/%monthnum%/%postname%.html

    5/%category%/%postname%.html

    6/%post_id%.html

    7/%postname%/

我选择了/%postname%.html,伪静态,虽然现在貌似没什么差别了,但还是该下吧。下面就出现了修改固定链接后,访问文章会出现404错误,以前我都是apache做web服务器,所以只要apache下就三个个关键,即

    wordpress对目录下的.htaccess拥有读写权限
    固定链接的目录结构需要 Apache服务器的mod_rewrite模块支持,所以在Apache配置文件httpd.conf中将 LoadModule rewrite_module modules/mod_rewrite.so设置为启用。
    同样是Apache配置文件,其中对于站点目录下的AllowOverride None的参数设置为All。当然修改完配置后,一定要重启Apache服务。
    由于是新配置的本地测试环境,2、3两项问题同时出现,逐项更正设置后,固定链接的工作正常。

现在我用的nginix,所以也要修改nginix的ngnix.conf配置文件,让其支持重定向

假设我的wordpress博客是的 server{}段是直接放到放到了nginx.conf  (有的人为了方便管理,都习惯在单独写个vhost/目录来存放每个网站的配置文件,这就要根据你自己的设置来添加了)

   

vi /your_nginx_path/conf/nginx.conf

    按照nginix的正则表达式的规则,可参考:Nginx 的中文维基

  •         ^:匹配输入字符的开始位置
  •         $:匹配数日字符串的结束位置
  •         +:匹配前面的子表达式一次或者多次
  •         [0-9]:数字字符范围
  •         $1:调用变量

    在server{}  字段   中的  “root /websit/wwwroot/;”(这行就是指定网站所在目录的)  这一行的下面 ,添加下面的内容:

            

    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;//这行是为了防止打开后台、插件页等打不开的。

    保存后,输入    /etc/init.d/nginx restart , 重启nginix。就ok了!

相当于告诉nginix访问这些后按照正则表达式转到其唯一正确的地址,以此打开文章。

貌似/%postname%/会以中文为链接,为了seo,可以考虑一个插件 WP Slug Translate,它会自动换中文标题为英文,不能联网就改为拼音。

貌似官方给出了新的pha100 pha-3,也简单的多。这里假设,我在nginx的conf文件夹下创建个wordpress.conf ,将下面的代码粘贴进去:

location / {

try_files $uri $uri/ /index.php?$args;

}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

我的博客nginx虚拟机配置文件在  conf/vhost/www.dabu.info.conf  。同样,在root 那行下面,添加一行:

include wordpress.conf;

接着重启nginx就可以正常访问了

 类似资料:
  • 本文向大家介绍解决tp5在nginx下修改配置访问的问题,包括了解决tp5在nginx下修改配置访问的问题的使用技巧和注意事项,需要的朋友参考一下 第一:修改nginx配置 注意:所有配置都是基于lnmp1.4的一键安装环境的 根据自己的nginx配置,找到正确的fastcgi.conf,修改fastcgi_param参数 将默认的路径修改至自己的项目根目录的上一级,注意是上级!!! 3、lnmp

  • 本文向大家介绍Mysql修改datadir导致无法启动问题解决方法,包括了Mysql修改datadir导致无法启动问题解决方法的使用技巧和注意事项,需要的朋友参考一下 centos6.2,停止mysqld然后修改/etc/my.cnf datadir的位置,启动mysqld提示FAILED,查看日志 新的datadir路径确实没问题,而且目录和目录下所有文件都是777权限,上层目录也有rx权限,只

  • wordpress搭建的博客从宝塔上换到centos7系统中,nginx配置https,访问域名在开启clash网络代理情况下可以正常访问,但是关闭clash就访问失败。使用PHP8.2、MySql5.7、Nginx1.25 nginx配置 开启防火墙放开80、22、443端口,后关闭防火墙还是不行,然后查看nginx和PHP-fpm的端口,还更换PHP—fpm版本,更该wordpress权限,更

  • 我想创建一个程序,允许用户删除员工与指定的工资单号码。 java(在其名为的包中) 当我输入工资单号码时,我的程序只识别第一个工作人员。任何其他工作人员都不会被‘发现’。我在哪里出了问题?如何从数组中删除特定的工资单号码并向用户请求另一个输入(直到数组为“空”)。

  • 本文向大家介绍Nginx解决前端访问资源跨域问题的方法详解,包括了Nginx解决前端访问资源跨域问题的方法详解的使用技巧和注意事项,需要的朋友参考一下 被前端跨域问题折磨快2天后,终于用ngnx的方式解决了,所以在此总结下。 该篇只探讨如何用Ngnx解决跨域问题,对于原理不作讨论。 1、首先介绍Windows环境下Nignx的相关命令操作 nginx常用命令: 验证配置是否正确: nginx -t

  • 主要内容:解决办法1:,解决办法2:,解决办法3:,解决办法4:,解决办法5:文章目录 解决办法1: 解决办法2: 解决办法3: 解决办法4: 解决办法5: 解决办法1: 修改selinux 解决办法2: 查看你的$HADOOP_HOME/etc/hadoop下的core-site.xml和hdfs-site.xml是否配置好 解决办法3: 必须在hadoop-env.sh文件中设置Java的绝对路径 解决办法4: 是否关闭linux系统的防火墙 解决办法5: 查看你win

  • 我想不出这个问题 这是我的nginx配置文件:

  • 问题内容: 我遇到这个错误。而且我不知道如何处理。 无法修改标头信息-已发送的标头(输出从/home/ben213/public_html/wp- includes/pluggable.php上的/home/ben213/public_html/wp- content/themes/Bendaggers/functions.php:9开始) 934行 我的Functions.php文件第9行是: