解決WORDPRESS中文TAG以及URL地址在IIS8-IIS10下可以打開偽靜態設置方式方法
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
最近還是有不少wordpress的客戶說他們的中文路徑或者標簽不能打開,無論咋設置還是這樣,這可能也是在win下的弊端吧,但是還是有補救措施的,
WindowsIIS8.5(windows 2012/2016/2019)WordPress中文TagURL地址偽靜態設置方法,雖WordPresscms官方內置了IIS8.5 偽靜態的支持,
但想要tag標簽url路徑格式支持中文顯示還是有所欠缺,很多Windows用戶設置完偽靜態規則后,訪問其它的內容頁都能打開,但是訪問tag頁面的中文url出現404,
那我們就來說說解決辦法,需要增加一個 PHP 文件,并修改一下 windows IIS(7-10)下偽靜態文件web.config 文件中的 Rewrite 規則即可,不需要修改程序文件。
第一步:新建一個“webconfig.php”文件,內容如下:(我們起名為webconfig這樣好能更好的識別我們的操作是針對偽靜態的)
解決辦法如下:
<?php// IIS Mod-Rewriteif (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];}// IIS Isapi_Rewriteelse if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];}else{// Use ORIG_PATH_INFO if there is no PATH_INFOif ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) )$_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];// Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)if ( isset($_SERVER['PATH_INFO']) ) {if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )$_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];else$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];}// Append the query string if it exists and isn't nullif (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {$_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];}}require("index.php");?>
<configuration>? <system.webServer>? ? <rewrite>? ? ? <rules>? ? ? ?<rule name="Webconfig" stopProcessing="true">? ? ? ? ? <match url="^(tag|category)/(.*)$" />? ? ? ? ? <action type="Rewrite" url="webconfig.php"/>? ? ? ? </rule>? ? ? ? <rule name="wordpress" patternSyntax="Wildcard">? ? ? ? ? <match url="*" />? ? ? ? ? ? <conditions>? ? ? ? ? ? ? <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />? ? ? ? ? ? ? <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />? ? ? ? ? ? </conditions>? ? ? ? ? <action type="Rewrite" url="index.php" />? ? ? ? </rule>? ? ? </rules>? ? </rewrite>? </system.webServer></configuration>
將這兩個文件都上傳到WordPress的根目錄即可,刷新就會發現奇跡。
PS:
如WordPress不是裝在根目錄,則需要更改“<match url=”^(tag|category)/(.*)$” />”為“<match url=”^安裝目錄/(tag|category)/(.*)$” />”
如在固定鏈接設置里把默認的標簽前綴和分類目錄前綴(tag 和 category)改了,則更改這句里的對應內容即可,如“<match url=”^article/(tag|category)/(.*)$” />”
期待親們的完美解決,好了此教程到此結束;
延伸閱讀:
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!