1

XML データを含むページを生成するために codeigniter を使用しています。ファイルの URL は /index.php/sitemap にありますが、/sitemap.xml 経由で URL にアクセスできるようにしたい

私の.htaccessファイルは、ユーザーが URL の前に /index.php/ を入力しなくても URL にアクセスできるように既に変更されています。これは.htacess私が使用しているファイルです:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

RewriteRule ^sitemap\.xml$ index.php/sitemap [L]

sitemap.xml ファイルのリダイレクトを除いて、すべて正常に動作しています。XAMPPを実行しているWindowsマシンを使用しています

私は何を間違っていますか?

4

3 に答える 3

2

.htaccess の変更をスキップして、代わりに通常のルートを使用してください。

$route['sitemap\.xml'] = 'sitemap';
于 2013-05-07T05:50:05.133 に答える
0
RewriteRule ^.*sitemap\.xml$ index.php/sitemap [L]
RewriteRule ^(.*)$ /index.php/$1 [L]

サイトマップ チェックに到達する前に一致しているため、常に にリダイレクトされindex.phpます。

これは、ユーザー ガイドの例です。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^.*/(.*)$ /index.php/$1 [L]

標準の index.php 書き換えの前に、そこにサイトマップのチェックを押し込むことができます

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^.*/sitemap\.xml$ index.php/sitemap [L]
RewriteRule ^.*/(.*)$ /index.php/$1 [L]
于 2013-05-07T02:37:05.140 に答える