我想从我的.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]
它有效...... 第二个工作,但重定向网址是可见的,我不想要那个。
我能做些什么让第一个例子有效?
答案 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 ();