CSDN 文章詳情頁 /questions/229561、/questions/229561.htm、/questions/229561/ 三種 URL 均可訪問且地址欄不變,實為服務端內部重寫(URL Rewrite),非 301/302 重定向。
/index.php?s=questions/229561(ThinkPHP 入口)。id=229561,渲染同一視圖。canonical 標簽避免重複收錄)。location / {
if (!-e $request_filename) {
rewrite ^/questions/(\d+)(\.htm)?/?$ /index.php?s=questions/$1 last;
rewrite ^/questions/(\d+)/?$ /index.php?s=questions/$1 last;
}
}
'questions/:id' => 'Question/detail',
'questions/:id.htm' => 'Question/detail',
'questions/:id/' => 'Question/detail',
結論:Rewrite 實現多入口單內容,Canonical 統一權重,這是成熟站點標準做法。