更改$ _SERVER ['REQUEST_URI']

时间:2013-02-17 12:05:07

标签: php .htaccess zend-framework mod-rewrite

我试图在我的.htaccess中构建一个RewriteRule来获得一个更漂亮的URL,用于使用Zend Framework显示一个线程论坛。 目标网址为:

/forum/display/thread/i/1

我想要的是什么:

/forum/display/thread/1

由于Zend Framework从URL构建GET Variabels(在这种情况下从/thread/开始),我的原始URL为我提供了一个GET变量'i' = 1,而第二个URL根本没有给我任何GET变量。

我想要的是一种方法,让/1成为一个尊重的GET变量,可能会有更多的来(例如/p/2页码)或者一种方法来重写使用mod_rewrite的网址,以便$_SERVER['REQUEST_URI']设置为/forum/display/thread/i/1

任何人都知道如何做到这一点?

1 个答案:

答案 0 :(得分:0)

在你的引导程序中:

protected function _initRouter()  
{  
    $route = new Zend_Controller_Router_Route_Regex(  
        '/forum/display/thread/(.+?)',  
        array('controller' => 'forum', 'action' => 'display'),  
        array(1 => 'thread'),  
        '/forum/display/thread/%d'  
    );  
    $front->getRouter()->addRoute('routeName', $route);  
}

代码未经过测试,请发布任何错误:)