首頁 >CMS教程 >&#&按 >Windows IIS 7.5 WordPress偽靜態中文連結404錯誤解決方法

Windows IIS 7.5 WordPress偽靜態中文連結404錯誤解決方法

藏色散人
藏色散人轉載
2019-10-11 11:26:212244瀏覽

Windows IIS 7.5 WordPress偽靜態中文連結404錯誤解決方法

對於WordPress建站,雖然我們一直推薦用戶使用linux系統,但是無可避免的依然會有很多用戶由於種種原因選擇了windows系統,並且也會經常有用戶遇到中文連結404錯誤的問題,現在WordPress教學欄位針對Windows IIS 7.5下的中文連結(例如標籤頁)404錯誤提供解決方案。

Windows IIS 7.5 WordPress偽靜態中文連結404錯誤解決方法

首先,我們在WordPress安裝目錄下,新建一個「index2.php」文件,內容如下:

<?php
// IIS Mod-Rewrite
if (isset($_SERVER[&#39;HTTP_X_ORIGINAL_URL&#39;])) {
    $_SERVER[&#39;REQUEST_URI&#39;] = $_SERVER[&#39;HTTP_X_ORIGINAL_URL&#39;];
}
// IIS Isapi_Rewrite
else if (isset($_SERVER[&#39;HTTP_X_REWRITE_URL&#39;])) {
    $_SERVER[&#39;REQUEST_URI&#39;] = $_SERVER[&#39;HTTP_X_REWRITE_URL&#39;];
} else {
    // Use ORIG_PATH_INFO if there is no PATH_INFO
    if ( !isset($_SERVER[&#39;PATH_INFO&#39;]) && isset($_SERVER[&#39;ORIG_PATH_INFO&#39;]) )
        $_SERVER[&#39;PATH_INFO&#39;] = $_SERVER[&#39;ORIG_PATH_INFO&#39;];
// Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
    if ( isset($_SERVER[&#39;PATH_INFO&#39;]) ) {
        if ( $_SERVER[&#39;PATH_INFO&#39;] == $_SERVER[&#39;SCRIPT_NAME&#39;] )
            $_SERVER[&#39;REQUEST_URI&#39;] = $_SERVER[&#39;PATH_INFO&#39;];
        else
            $_SERVER[&#39;REQUEST_URI&#39;] = $_SERVER[&#39;SCRIPT_NAME&#39;] . $_SERVER[&#39;PATH_INFO&#39;];
    }
    // Append the query string if it exists and isn&#39;t null
    if (isset($_SERVER[&#39;QUERY_STRING&#39;]) && !empty($_SERVER[&#39;QUERY_STRING&#39;])) {
        $_SERVER[&#39;REQUEST_URI&#39;] .= &#39;?&#39; . $_SERVER[&#39;QUERY_STRING&#39;];
    }
}
require("index.php");
?>

然後在web.config中新增一條規則,並將此規則置於規則集合的頂部:

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

效果如下:

Windows IIS 7.5 WordPress偽靜態中文連結404錯誤解決方法

#如果WordPress 不是裝在根目錄,則需要更改「」為「」。如果在固定連結設定裡把預設的標籤前綴和分類目錄前綴(tag 和 category)改了,則更改這句話裡的對應內容即可。

以上方法只針對標籤和分類裡面的中文鏈接,如果您需要對網站的全部中文鏈接(比如文章、頁面等)進行轉化支持,那麼可以不用添加最後一步的web.config規則,只需要直接編輯web.config,將上圖裡面的改成

由於此方法是新index2.php文件,並配合偽靜態規則實現,所以不受WordPress更新升級影響,建議使用。

以上是Windows IIS 7.5 WordPress偽靜態中文連結404錯誤解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:wpcom。如有侵權,請聯絡admin@php.cn刪除