Dot-Htaccess

如何將舊的 html url 重定向到新的 php url

  • January 9, 2018

如何將舊的 html 頁面重定向到新的 php 頁面。我使用了這段程式碼,但它使用完整的文件路徑重定向。我正在使用下面的程式碼。

RewriteEngine On
RewriteRule ^(.*).html$ $1.php  

但它使用完整的文件路徑重定向

如果您指定相對替換,它將使用“完整文件路徑” 。IE。不以斜杠 ( ) 或 scheme+host(絕對 URL)開頭的替換。/在您的範例中,使用.htaccess擷取的反向引用會排除 URL 路徑上的斜杠前綴。因此,您需要在替換上顯式包含斜杠前綴。例如:

RewriteRule ^(.*).html$ /$1.php  

但是,如果您需要外部重定向(正如您在問題中所描述的那樣),那麼您還需要在 上明確包含R( redirect) 標誌RewriteRule,否則您將獲得內部重寫(URL 不會改變 - 但您的網站可能仍可使用舊.htmlURL)。

如果您的文件中有其他指令,您可能還需要L( last) 標誌來防止進一步重寫。例如:

RewriteRule ^(.*).html$ /$1.php [R=302,L]

如果這應該是重定向(而不是重寫)並且這是對您的 URL 結構的永久更改,那麼只有在您確定它工作正常時才將302(臨時)更改為(永久)。301301s 被瀏覽器硬記憶體,因此會使測試出現問題。)

引用自:https://serverfault.com/questions/891350