/ / RewriteRule pre súbory Sitemap v aplikácii Zend Framework - .htaccess, zend-framework, mod-rewrite

RewriteRule pre mapové súbory v Zend Framework - .htaccess, zend-framework, mod-rewrite

Mám nasledujúce pravidlá .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]

Bohužiaľ nemôžem použiť interné smerovanie Zend Framework na spracovanie súborov Sitemap, ale vyššie uvedené pravidlá nefungujú.

Adresy URL súborov Sitemap vyzerajú takto:

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

Požadované prepísanie funguje dobre v prípadoch, keď som nastavil presmerovanie R = 301 alebo komentoval posledné pravidlo. Obe tieto možnosti nie sú možné. Môže mi niekto pomôcť?

odpovede:

2 pre odpoveď č. 1

Nedá sa hovoriť o .htaccess. Môže to byť jednoduchšie pomocou routeru Zend. Vložte ho do bootstrapu:

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