Имам следните правила .htaccess:
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^sitemap_(.*).xml$ /xml/sitemap/$1 #[L]
RewriteRule ^.*$ /index.php [NC,L]
За съжаление не мога да използвам вътрешно маршрутизиране на Zend Framework за обработка на Sitemap, но правилата по-горе не работят.
URL адресите на Sitemap изглеждат така:
/sitemap_index.xml
/sitemap_pages.xml
/sitemap_news.xml
Изискваното пренаписване работи добре в случаите, когато го задам R = 301 пренасочване или коментар на последното правило. И двете не са опции. Може ли някой да ви помогне?
Отговори:
2 за отговор № 1Не може да се каже за .htaccess.Може да бъде по-лесно да се направи от zend рутер.Поставете това в bootstrap:
public function _initRouter() {
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$route = new Zend_Controller_Router_Route_Regex(
"sitemap_(.*).xml",
array(
"controller" => "xml",
"action" => "sitemap"
),
array(
1 => "sitemap"
)
);
$router->addRoute("sitemap", $route);
}