我有我絕對要支持傳統的URL,這是這種格式:CakePHP的支持舊式URL
http://domain.com/page.php?hash=crazymd5hashhere
該網站的新版本正在CakePHP的2.4完成的,所以我想重定向這對於實際的控制器動作並將其傳遞給哈希參數。在CakePHP中完成此操作的最佳方式是什麼?
我有我絕對要支持傳統的URL,這是這種格式:CakePHP的支持舊式URL
http://domain.com/page.php?hash=crazymd5hashhere
該網站的新版本正在CakePHP的2.4完成的,所以我想重定向這對於實際的控制器動作並將其傳遞給哈希參數。在CakePHP中完成此操作的最佳方式是什麼?
我會使用.htaccess文件
RewriteCond %{REQUEST_URI} ^/page.php$
RewriteRule ^(.*)$ /controller_name/ [QSA,L,R=301]
您需要讓服務器以永久重定向301
代碼來響應新地址。這將被瀏覽器緩存,並且還會告訴搜索引擎從索引中刪除舊內容。
最簡單和最快的方法是在發佈重定向的webroot中創建一個page.php
文件。
<?php
if(isset($_GET["hash"]))
{
$location = "/controller/action/hash:"+$_GET["hash"];
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: '.$location);
}
else
{
header('HTTP/1.0 404 Not Found');
}
我不知道它在哪裏需要重定向,但這只是一個例子。
這是更好的。 :) – cgTag
正是我在找什麼;謝謝! – moberemk