重定向到Apache .htaccess路由

时间:2014-08-30 16:37:20

标签: php .htaccess zend-framework

我想从我的.htaccess重定向到一个特定的路由(我使用Zend Framework,但我认为每个框架都是一样的。)

这是我的.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_URI}  ^/$
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$
RewriteRule ^(.*)$ /snapshot/%1? [NC,L]

这不起作用。 注意:snapshot文件夹不存在。

但如果我用最后一行替换:

RewriteRule ^(.*)$ http://my-site.com/snapshot/%1? [NC,L]

它有效...... 第二个工作,但重定向网址是可见的,我不想要那个。

我能做些什么让第一个例子有效?

1 个答案:

答案 0 :(得分:0)

我有一个解决方案,但它不需要mod_rewrite。你必须稍微编辑你的index.php。在$application->bootstrap ();之后和$application->run ();之前添加此代码段。

$application->bootstrap ();

if (preg_match ('~_escaped_fragment_=(.*)~', $_SERVER ['QUERY_STRING'], $match))
{
    $frontcontroller = $application->getBootstrap()->FrontController;
    $request = new Zend_Controller_Request_Http('http://your.site.com/controller/'.$match[1]);
    $frontcontroller->setRequest($request);
}

$application->run ();