标签: 伪静态
-
作者帖子
-
之前遇到的问题就是我们要上传主题、插件的演示站,预计了一下数量,大概有 30 多个,所以考虑通过子域名的子目录实现,
但是服务器在配置伪静态的时候遇到了问题,打开的链接大部分都是 404 的,只能通过最简单的 /?124 这种形式访问。
当然不是采用多站点的形式,因为多站点的话,所有插件、主题都搅和到一块了,会比较麻烦。
找了半天也试了很多次,都没能解决,刚刚已经解决了,现在记录下:
有一个 Nginx 服务器和 WordPress 的子目录像
https://www.example.com/blog
。通常使用 nginx 我们有 WordPress 的永久设置的问题。我已经搜索网络来解决问题,最后我得到了解决方案,这很容易,虽然这是简单的配置,将 index.php 中的所有链接 WordPress 的链接
这里是博客子目录中 wordpress 的 nginx 配置。
server { listen 80; root /var/www; index index.php index.html index.htm; server_name https://www.example.com; location / { index index.php index.html index.htm; } location /blog/ { try_files $uri $uri/ /blog/index.php?$args; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }
更新配置文件之后您需要重新加载 nginx 配置。
sudo service nginx reload
然后转到
https://www.example.com/blog/wp-admin/options-permalink.php
。该永久链接结构更改为定制
https://www.example.com/blog/index.php
文件/%postname%/
这解决了我的问题链接,在 wordpress 中找不到文件。
还有一点总是 WordPress 地址 (URL) 和站点地址 (URL) 应该在上述上下文中相同,它应该是
www.example.com/blog
。您可以在常规设置中更改此地址。添加了 ssl 证书后,网站出现无法访问的情况,这主要是通过宝塔的面板自动获取的,但是后面不知道是什么情况,保存了后证书就消失了,试了老半天重启 Nginx 的时候都会出现下面的提示:
Starting nginx-sp: nginx: [emerg] BIO_new_file("/etc/letsencrypt/live/demo.weixiaoduo.com/fullchain.pem") failed (SSL: error:02001002:system library:fopen:No such file ordirectory:fopen(』/etc/letsencrypt/live/demo.weixiaoduo.com/fullchain.pem』,『r』) error:2006D0 80:BIO routines:BIO_new_file:no such file)
最后想了下,要不手动复制一下试试看,然后能不能找到证书:
还真是,需要手动的复制一下证书,保存了才行。
-
作者帖子
- 哎呀,回复话题必需登录。