Nginx下修改WordPress固定鏈接導(dǎo)致無法訪問的問題解決
今天下午沒事,像以往一樣開始做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)在貌似沒什么差別了,但還是該下吧。下面就出現(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。當(dāng)然修改完配置后,一定要重啟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了!
相當(dāng)于告訴nginix訪問這些后按照正則表達式轉(zhuǎn)到其唯一正確的地址,以此打開文章。
貌似/%postname%/會以中文為鏈接,為了seo,可以考慮一個插件 WP Slug Translate,它會自動換中文標(biāo)題為英文,不能聯(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中獲取頁面鏈接和標(biāo)題的相關(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é)合openssl實現(xiàn)https的方法
這篇文章主要介紹了基于nginx結(jié)合openssl實現(xiàn)https的方法,準(zhǔn)備工作大家需要安裝nginx服務(wù),具體操作過程跟隨小編一起看看吧2021-07-07Nginx實現(xiàn)瀏覽器可實時查看訪問日志的步驟詳解
我們經(jīng)常需要在頁面上實時查看nginx的日志輸出,并且能在頁面上顯示,那么下面小編就給大家說下怎么在瀏覽器上實時動態(tài)的查看nginx的訪問日志,有需要的朋友們可以參考借鑒。2016-09-09Nginx使用limit_req_zone對同一IP訪問進行限流的方法
今天小編就為大家分享一篇Nginx使用limit_req_zone對同一IP訪問進行限流的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08