2014-08-30 136 views
0

我想从我的.htaccess重定向到一个特定的路线(我使用Zend框架,但它对每个框架,我猜)是相同的。重定向到Apache路由.htacess

这里是我的.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] 

它的工作原理... 第二个作品,但重定向URL是可见的,我不希望出现这种情况。

我能做些什么使第一个例子工作?

谢谢

回答

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();