/ Zend Frameworkのサイトマップの/ RewriteRule - .htaccess、zend-framework、mod-rewrite

Zend Frameworkのサイトマップ用のRewriteRule - .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リダイレクトまたは最後のルールをコメントアウトに設定した場合にはうまくいきます。どちらもオプションではありません。誰かが喜んで手伝ってくれる?

回答:

回答№1は2

.htaccessについて言うことはできません。zendrouterによってするのがより簡単かもしれません。ブートストラップにこれを入れてください:

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