htaccess重写XML站点地图和用户友好的站点地图

Chr*_*ris 5 php apache .htaccess mod-rewrite

我有两个脚本:

  • xmlsitemap.php(Google XML站点地图)
  • sitemap.php(GUI用户友好的站点地图)

我想用重写规则来实现这个目标:

重写到site.com/sitemap.php
site.com/sitemap
site.com/sitemap/

重写到site.com/xmlsitemap.php
site.com/sitemap.xml

这是我尝试过的.问题是它将sitemap.xml重写为sitemap.php(GUI).

Options +FollowSymlinks
RewriteEngine On

RewriteRule sitemap.xml xmlsitemap.php
RewriteRule sitemap sitemap.php

# also tried using [L] option on both
Run Code Online (Sandbox Code Playgroud)

hak*_*kre 7

首先,重新添加[L]标志.其次,如果一条规则取代另一条规则,请检查重写规则正则表达式,以使它们更好地匹配,就像整个请求一样:

RewriteRule ^sitemap\.xml$ xmlsitemap.php [L]
RewriteRule ^sitemap$ sitemap.php [L]
Run Code Online (Sandbox Code Playgroud)

L如果已经匹配(但仍然可以触发内部重定向,也可以查看END标志而不是L标志),该标志将阻止运行其他规则.