/ / RewriteRule для sitemap в Zend Framework - .htaccess, zend-Framework, mod-rewrite

RewriteRule для мап в Zend Framework - .htaccess, zend-framework, mod-rewrite

У мене є такі правила .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 для обробки мап сайтів, але наведені вище правила не працюють.

URL-адреси сайта виглядають так:

/sitemap_index.xml
/sitemap_pages.xml
/sitemap_news.xml

Необхідне перезапис працює чудово у випадках, коли я встановив його R = 301 переадресація або прокоментування останнього правила. І те й інше - це не варіанти. Чи може хтось допомогти, будь ласка?

Відповіді:

2 для відповіді № 1

Не можу сказати про .htaccess. Може бути простіше зробити zend маршрутизатор. Помістіть це у завантажувальний пакет:

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