Nginx下修改WordPress固定鏈接導(dǎo)致無(wú)法訪問(wèn)的問(wèn)題解決
今天下午沒(méi)事,像以往一樣開(kāi)始做seo的優(yōu)化,當(dāng)然牽扯到永久鏈接,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)在貌似沒(méi)什么差別了,但還是該下吧。下面就出現(xiàn)了修改固定鏈接后,訪問(wèn)文章會(huì)出現(xiàn)404錯(cuò)誤,以前我都是apache做web服務(wù)器,所以只要apache下就三個(gè)個(gè)關(guān)鍵,即
wordpress對(duì)目錄下的.htaccess擁有讀寫(xiě)權(quán)限
固定鏈接的目錄結(jié)構(gòu)需要 Apache服務(wù)器的mod_rewrite模塊支持,所以在Apache配置文件httpd.conf中將 LoadModule rewrite_module modules/mod_rewrite.so設(shè)置為啟用。
同樣是Apache配置文件,其中對(duì)于站點(diǎn)目錄下的AllowOverride None的參數(shù)設(shè)置為All。當(dāng)然修改完配置后,一定要重啟Apache服務(wù)。
由于是新配置的本地測(cè)試環(huán)境,2、3兩項(xiàng)問(wèn)題同時(shí)出現(xiàn),逐項(xiàng)更正設(shè)置后,固定鏈接的工作正常。
現(xiàn)在我用的nginix,所以也要修改nginix的ngnix.conf配置文件,讓其支持重定向
假設(shè)我的wordpress博客是的 server{}段是直接放到放到了nginx.conf (有的人為了方便管理,都習(xí)慣在單獨(dú)寫(xiě)個(gè)vhost/目錄來(lái)存放每個(gè)網(wǎng)站的配置文件,這就要根據(jù)你自己的設(shè)置來(lái)添加了)
按照nginix的正則表達(dá)式的規(guī)則,可參考:Nginx 的中文維基
- ^:匹配輸入字符的開(kāi)始位置
- $:匹配數(shù)日字符串的結(jié)束位置
- +:匹配前面的子表達(dá)式一次或者多次
- [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;//這行是為了防止打開(kāi)后臺(tái)、插件頁(yè)等打不開(kāi)的。
保存后,輸入 /etc/init.d/nginx restart , 重啟nginix。就ok了!
相當(dāng)于告訴nginix訪問(wèn)這些后按照正則表達(dá)式轉(zhuǎn)到其唯一正確的地址,以此打開(kāi)文章。
貌似/%postname%/會(huì)以中文為鏈接,為了seo,可以考慮一個(gè)插件 WP Slug Translate,它會(huì)自動(dòng)換中文標(biāo)題為英文,不能聯(lián)網(wǎng)就改為拼音。
貌似官方給出了新的pha100 pha-3,也簡(jiǎn)單的多。這里假設(shè),我在nginx的conf文件夾下創(chuàng)建個(gè)wordpress.conf ,將下面的代碼粘貼進(jìn)去:
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
我的博客nginx虛擬機(jī)配置文件在 conf/vhost/www.dabu.info.conf 。同樣,在root 那行下面,添加一行:
接著重啟nginx就可以正常訪問(wèn)了
- Nginx下讓W(xué)ordPress支持固定鏈接的偽靜態(tài)規(guī)則
- Nginx下Wordpress的永久鏈接實(shí)現(xiàn)(301,404等)
- Nginx下WordPress鏈接(url偽靜態(tài))301永久重定向?qū)崿F(xiàn)方法
- 如何讓PHPnow支持wordpress靜態(tài)化鏈接的方法
- WordPress中獲取頁(yè)面鏈接和標(biāo)題的相關(guān)PHP函數(shù)用法解析
- 簡(jiǎn)介WordPress中用于獲取首頁(yè)和站點(diǎn)鏈接的PHP函數(shù)
- WordPress中用于獲取文章信息以及分類鏈接的函數(shù)用法
- WordPress中轉(zhuǎn)義HTML與過(guò)濾鏈接的相關(guān)PHP函數(shù)使用解析
- 詳解WordPress中過(guò)濾鏈接與過(guò)濾SQL語(yǔ)句的方法
- 詳解WordPress中給鏈接添加查詢字符串的方法
- 詳解WordPress中添加友情鏈接的方法
相關(guān)文章
nginx結(jié)合openssl實(shí)現(xiàn)https的方法
這篇文章主要介紹了基于nginx結(jié)合openssl實(shí)現(xiàn)https的方法,準(zhǔn)備工作大家需要安裝nginx服務(wù),具體操作過(guò)程跟隨小編一起看看吧2021-07-07Nginx實(shí)現(xiàn)瀏覽器可實(shí)時(shí)查看訪問(wèn)日志的步驟詳解
我們經(jīng)常需要在頁(yè)面上實(shí)時(shí)查看nginx的日志輸出,并且能在頁(yè)面上顯示,那么下面小編就給大家說(shuō)下怎么在瀏覽器上實(shí)時(shí)動(dòng)態(tài)的查看nginx的訪問(wèn)日志,有需要的朋友們可以參考借鑒。2016-09-09Nginx使用limit_req_zone對(duì)同一IP訪問(wèn)進(jìn)行限流的方法
今天小編就為大家分享一篇Nginx使用limit_req_zone對(duì)同一IP訪問(wèn)進(jìn)行限流的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08