请帮助,我已经做了2天了,一切都白费了...
此代码非常适合将目录和页面重写到一个index.php页面
DirectoryIndex /index.php
RewriteEngine on
RewriteBase /
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 sitemap.php [L]
sitemap.xml的问题,因为它必须重写为sitemap.php而不是index.php
答案 0 :(得分:1)
您需要将站点地图规则放在索引规则之前。规则从上到下进行处理,一旦达到索引规则(因为.*
将与sitemap.xml
相匹配),由于存在[L]
标志,它将停止进一步处理。
另一种选择是仅在index.php
等于include sitemap.php;
时在$_SERVER['REQUEST_URI']
和sitemap.xml
中使用php。结果相同。