.htaccess URL重写(sitemap.xml到sitemap.php)

时间:2013-05-24 16:31:22

标签: .htaccess url mod-rewrite

下面是我当前的.htaccess文件。我想添加另一个条件/规则,如果发出了对sitemap.xml的请求,则会提供sitemap.php。请帮助:)

Options +FollowSymLinks

<IfModule mod_rewrite.c>

   RewriteEngine On

   RewriteBase /

   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d

   RewriteRule ^(.*)$ index.php?filename=$1 [L,QSA]

</IfModule>

3 个答案:

答案 0 :(得分:3)

您可以明确地执行此操作:

Options +FollowSymLinks

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteBase /

  RewriteRule ^sitemap.xml$ sitemap.php [L]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?filename=$1 [L,QSA]
</IfModule>

你可能会遇到这样的问题......你应该为蜘蛛创建排除物,这样他们仍然会收到sitemap.xml

答案 1 :(得分:1)

RewriteRule ^ sitemap.xml $ public / sitemap.php [L]

答案 2 :(得分:1)

使用下面的代码,确保您的php文件以xml格式加载

header('Content-Type: text/xml');