我有两个脚本:
- xmlsitemap.php(谷歌 XML 站点地图)
- sitemap.php(GUI 用户友好站点地图)
我想通过重写规则来实现:
重写为site.com/sitemap.php
site.com/网站 map
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
最佳答案
首先,重新添加[L]
标志。其次,如果一个规则取代了另一个,请检查您的重写规则正则表达式以使它们更好地匹配,就像整个请求一样:
RewriteRule ^sitemap\.xml$ xmlsitemap.php [L]
RewriteRule ^sitemap$ sitemap.php [L]
如果规则已经匹配,L
标志将阻止运行其他规则(但仍然可以触发内部重定向,参见 END flag instead of the L flag )。
关于php - htaccess 重写 XML 站点地图和用户友好的站点地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6592810/