我想在我的Zend Framework 1應用程序中重定向url列表。現在,我可以添加所有數百重定向到這樣的htaccess文件:Zend框架重定向列表網址
Redirect 301 /old-page.html /new-page.html
但我寧願想創建與所有重定向一個有組織的文件。這可能嗎?我閱讀了關於.ini文件的一些信息,但我想這不是我正在尋找的。
東西就像一箇舊的網址作爲鍵和新的網址值的數組也會很好。但是我對Zend Framework很陌生,所以也許有人可以幫助我呢?猜猜我需要創建一個PHP文件並將其加載到引導程序中,但我很努力。
編輯:
只是從我的頭頂,這樣的事情將是很好我想:
rewrites.php
$rewrites = array(
'/old_url.html' => '/new_url.html'
);
if(array_key_exists(Zend_Controller_Front::getInstance()->getRequest()->getRequestUri(), $rewrites)){
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$rewrites[Zend_Controller_Front::getInstance()->getRequest()->getRequestUri()]);
}
@ D4V1D並沒有真正嘗試的東西呢。不想破壞任何東西。我正在尋找一種以正確方式重定向的文件實現方式。因爲我無法找到Google的解決方案,所以我認爲在這裏提問是明智的。我剛剛編輯了我的答案,我創建了一個快速rewrites.php,現在我需要知道如何以正確的方式引導它。有什麼想法嗎?也許在Bootstrap.php裏面創建一個新的函數? –
使用Apache和mod_rewrite,您可以使用['RewriteMap'](https://httpd.apache.org/docs/current/en/mod/mod_rewrite.html#rewritemap)指令。在這裏看到exeamples:https://httpd.apache.org/docs/current/en/rewrite/rewritemap.html有一個純文本地圖。 – Zimmi
@Zimmi猜這是行不通的:''RewriteMap指令不能在部分或.htaccess文件中使用。您必須在服務器或虛擬主機上下文中聲明映射。你可以在你的RewriteRule和RewriteCond指令中使用地圖。你不能在這些範圍內聲明它。'''我沒有服務器訪問權限。 –