阻止htaccess重定向某些文件类型?

时间:2012-11-02 02:40:42

标签: .htaccess mod-rewrite sitemap symlink multiviews

我的htaccess完全符合我的要求,除了它还重定向我的站点地图文件。有没有人知道可以更改或添加哪些内容以防止它对任何.xml文件产生影响,但是对于其他任何文件仍然可以继续工作?

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^(.*)$ http://www.mysite.com/review/$1 [R=301,L]

Options -MultiViews +FollowSymlinks -Indexes

RewriteEngine on
RewriteRule ^([a-zA-Z0-9\.\-]+)$ review.php?site=$1 [L,QSA]

基本上现在写一下,当你去mysite.com/review/$1时,它会显示mysite.com/review/review.php?site=$1的内容,我希望它继续像这样工作,而不是为了。 xml文件。

基本上如果有人访问mysite.com/review/sitemap.xml,它应该显示实际的站点地图,而不是mysite.com/review/review.php?site=sitemap.xml的内容

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

之前:

RewriteRule ^([a-zA-Z0-9\.\-]+)$ review.php?site=$1 [L,QSA]

添加:

RewriteCond %{REQUEST_URI} !\.xml$ [NC]

条件仅在URI不以.xml结尾且仅应用于路由到review.php的规则时匹配。