1
好的,情況就是這樣。我有example.com/old-url.php,作爲一個例子,我最終想成爲example.com/new-url/。是否有正確的處理301重定向和URL重寫的順序?
因爲我做這爲整個網站的多個頁面,我首先刪除PHP擴展和力量尾隨斜線所有請求,就像這樣:
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ /$1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/(.+)/$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^(.*)/$ $1.php [L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .*[^/]$ $0/ [L,R=301]
對於某些網頁,這是所有需要。對於其他頁面,例如上面的示例,我需要再走一步。所以我老url.php重命名爲新url.php,並創建一個額外的301重定向,像這樣:
Redirect 301 /old-url/ http://www.example.com/new-url/
但是,這是正確的方式做到這一點?是否更好的做法是做一些類似的事情:
Redirect 301 old-url.php http://www.example.com/new-url.php
只需將301之前的URL重新寫入?甚至:
Redirect 301 old-url.php http://www.example.com/new-url/
好像有幾種方式我可以設置這個了,我只是想知道,如果它真的很重要或者是最佳的。
在此先感謝。