Nginx下修改WordPress固定鏈接導(dǎo)致無法訪問的問題解決
今天下午沒事,像以往一樣開始做seo的優(yōu)化,當然牽扯到永久鏈接,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,偽靜態(tài),雖然現(xiàn)在貌似沒什么差別了,但還是該下吧。下面就出現(xiàn)了修改固定鏈接后,訪問文章會出現(xiàn)404錯誤,以前我都是apache做web服務(wù)器,所以只要apache下就三個個關(guān)鍵,即
wordpress對目錄下的.htaccess擁有讀寫權(quán)限
固定鏈接的目錄結(jié)構(gòu)需要 Apache服務(wù)器的mod_rewrite模塊支持,所以在Apache配置文件httpd.conf中將 LoadModule rewrite_module modules/mod_rewrite.so設(shè)置為啟用。
同樣是Apache配置文件,其中對于站點目錄下的AllowOverride None的參數(shù)設(shè)置為All。當然修改完配置后,一定要重啟Apache服務(wù)。
由于是新配置的本地測試環(huán)境,2、3兩項問題同時出現(xiàn),逐項更正設(shè)置后,固定鏈接的工作正常。
現(xiàn)在我用的nginix,所以也要修改nginix的ngnix.conf配置文件,讓其支持重定向
假設(shè)我的wordpress博客是的 server{}段是直接放到放到了nginx.conf (有的人為了方便管理,都習(xí)慣在單獨寫個vhost/目錄來存放每個網(wǎng)站的配置文件,這就要根據(jù)你自己的設(shè)置來添加了)
按照nginix的正則表達式的規(guī)則,可參考:Nginx 的中文維基
- ^:匹配輸入字符的開始位置
- $:匹配數(shù)日字符串的結(jié)束位置
- +:匹配前面的子表達式一次或者多次
- [0-9]:數(shù)字字符范圍
- $1:調(diào)用變量
在server{} 字段 中的 “root /websit/wwwroot/;”(這行就是指定網(wǎng)站所在目錄的) 這一行的下面 ,添加下面的內(nèi)容:
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訪問這些后按照正則表達式轉(zhuǎn)到其唯一正確的地址,以此打開文章。
貌似/%postname%/會以中文為鏈接,為了seo,可以考慮一個插件 WP Slug Translate,它會自動換中文標題為英文,不能聯(lián)網(wǎng)就改為拼音。
貌似官方給出了新的pha100 pha-3,也簡單的多。這里假設(shè),我在nginx的conf文件夾下創(chuàng)建個wordpress.conf ,將下面的代碼粘貼進去:
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
我的博客nginx虛擬機配置文件在 conf/vhost/www.dabu.info.conf 。同樣,在root 那行下面,添加一行:
接著重啟nginx就可以正常訪問了
- Nginx下讓W(xué)ordPress支持固定鏈接的偽靜態(tài)規(guī)則
- Nginx下Wordpress的永久鏈接實現(xiàn)(301,404等)
- Nginx下WordPress鏈接(url偽靜態(tài))301永久重定向?qū)崿F(xiàn)方法
- 如何讓PHPnow支持wordpress靜態(tài)化鏈接的方法
- WordPress中獲取頁面鏈接和標題的相關(guān)PHP函數(shù)用法解析
- 簡介WordPress中用于獲取首頁和站點鏈接的PHP函數(shù)
- WordPress中用于獲取文章信息以及分類鏈接的函數(shù)用法
- WordPress中轉(zhuǎn)義HTML與過濾鏈接的相關(guān)PHP函數(shù)使用解析
- 詳解WordPress中過濾鏈接與過濾SQL語句的方法
- 詳解WordPress中給鏈接添加查詢字符串的方法
- 詳解WordPress中添加友情鏈接的方法
相關(guān)文章
Nginx可視化管理工具結(jié)合cpolar實現(xiàn)遠程訪問的步驟詳解
Nginx Proxy Manager 是一個開源的反向代理工具,本文將給大家介紹在Linux 安裝Nginx Proxy Manager并且結(jié)合 cpolar內(nèi)網(wǎng)穿透工具實現(xiàn)遠程訪問管理界面,同等,當我們使用Nginx Proxy Manager配置其他本地服務(wù),并且需要遠程訪問,也是同樣的方式,需要的朋友可以參考下2023-09-09
Nginx?error_page自定義錯誤頁面設(shè)置過程
這篇文章主要介紹了Nginx?error_page自定義錯誤頁面設(shè)置過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Nginx搭建rtmp直播服務(wù)器實現(xiàn)代碼
這篇文章主要介紹了Nginx搭建rtmp直播服務(wù)器實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Nginx?504?Gateway?Time-out的兩種最新解決方案
大家在訪問網(wǎng)站的時候通常會遇到502錯誤、404錯誤等,很少會遇到504錯誤,但是在我們?nèi)ピL問大流量或者內(nèi)容數(shù)據(jù)量較多的網(wǎng)站時,打開網(wǎng)頁偶爾就會出現(xiàn)504 gateway time-out,這篇文章主要給大家介紹了關(guān)于Nginx?504?Gateway?Time-out的兩種解決方案,需要的朋友可以參考下2022-08-08
Nginx禁止國外IP訪問我的網(wǎng)站的實現(xiàn)
本文主要介紹了Nginx禁止國外IP訪問我的網(wǎng)站的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07

