3

下面是我当前的 .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>
4

3 回答 3

4

你可以明确地做到这一点:

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

于 2013-05-24T16:36:03.573 回答
1

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

于 2015-07-16T10:12:29.770 回答
1

使用下面的代码确保您的 php 文件加载为 xml

header('Content-Type: text/xml');
于 2018-10-28T20:47:03.077 回答