標籤: 偽靜態
-
作者帖子
-
之前遇到的問題就是我們要上傳主題、插件的演示站,預計了一下數量,大概有 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)
最後想了下,要不手動複製一下試試看,然後能不能找到證書:
還真是,需要手動的複製一下證書,保存了才行。
-
作者帖子
- 哎呀,回覆話題必需登錄。