溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何解決Windows IIS 7.5 WordPress偽靜態(tài)中文鏈接404錯(cuò)誤的問題

發(fā)布時(shí)間:2020-09-08 11:27:08 來源:億速云 閱讀:160 作者:小新 欄目:建站服務(wù)器

小編給大家分享一下如何解決Windows IIS 7.5 WordPress偽靜態(tài)中文鏈接404錯(cuò)誤的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

對(duì)于WordPress建站,雖然我們一直推薦用戶使用linux系統(tǒng),但是無可避免的依然會(huì)有很多用戶由于種種原因選擇了windows系統(tǒng),并且也會(huì)經(jīng)常有用戶遇到中文鏈接404錯(cuò)誤的問題,現(xiàn)在WordPress教程欄目針對(duì)Windows IIS 7.5下的中文鏈接(比如標(biāo)簽頁)404錯(cuò)誤提供一種解決方案。

如何解決Windows IIS 7.5 WordPress偽靜態(tài)中文鏈接404錯(cuò)誤的問題

首先,我們?cè)赪ordPress安裝目錄下,新建一個(gè)“index2.php”文件,內(nèi)容如下:

<?php
// IIS Mod-Rewrite
if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
    $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
}
// IIS Isapi_Rewrite
else 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_INFO
    if ( !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 null
    if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
        $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
    }
}
require("index.php");
?>

然后在web.config中新增一條規(guī)則,并將此規(guī)則置于規(guī)則集合的頂部:

<rule name="ChineseURL" stopProcessing="true">
 <match url="/(tag|category)/(.*)" />
 <action type="Rewrite" url="index2.php" />
</rule>

效果如下:

如何解決Windows IIS 7.5 WordPress偽靜態(tài)中文鏈接404錯(cuò)誤的問題

如果 WordPress 不是裝在根目錄,則需要更改“<match url="^(tag|category)/(.*)$" />”為“<match url="^安裝目錄/(tag|category)/(.*)$" />”。如果在固定鏈接設(shè)置里把默認(rèn)的標(biāo)簽前綴和分類目錄前綴(tag 和 category)改了,則更改這句里的對(duì)應(yīng)內(nèi)容即可。

以上方法只針對(duì)標(biāo)簽和分類里面的中文鏈接,如果您需要對(duì)網(wǎng)站的全部中文鏈接(比如文章、頁面等)進(jìn)行轉(zhuǎn)化支持,那么可以不用添加最后一步的web.config規(guī)則,只需要直接編輯web.config,將上圖里面的<action type="Rewrite" url="index.php" />改成<action type="Rewrite" url="index2.php" />即可。

由于此方法是新建index2.php文件,并配合偽靜態(tài)規(guī)則實(shí)現(xiàn),所以不受WordPress更新升級(jí)影響,推薦使用。

以上是如何解決Windows IIS 7.5 WordPress偽靜態(tài)中文鏈接404錯(cuò)誤的問題的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI