如何使用RewriteRule多文件和多站点编写.htaccess?

如何使用RewriteRule多文件和多站点编写.htaccess?,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,大家好,我正在使用php框架制作多个站点的脚本,但是我的.htaccess有一个问题。 我有以下代码: <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / # -- domain1.com -- RewriteCond %{HTTP_HOST} ^domain1\.com$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !

大家好,我正在使用php框架制作多个站点的脚本,但是我的.htaccess有一个问题。 我有以下代码:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

# -- domain1.com --
RewriteCond %{HTTP_HOST} ^domain1\.com$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^sitemap.xml$ domain1.com-sitemap.php [NC,L]
RewriteRule ^sitemap-page.xml$ sitemap_main.php [NC,L]
RewriteRule ^favicon.ico$ domain1.com.ico [NC,L]
# -- domain1.com --

# -- domain2.com --
RewriteCond %{HTTP_HOST} ^domain2\.com$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^sitemap.xml$ domain2.com-sitemap.php [NC,L]
RewriteRule ^sitemap-post.xml$ sitemap_main.php [NC,L]
RewriteRule ^favicon.ico$ domain2.com.ico [NC,L]
# -- domain2.com --

# -- domain3.com --
RewriteCond %{HTTP_HOST} ^domain3\.com$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^sitemap.xml$ domain3.com-sitemap.php [NC,L]
RewriteRule ^sitemap-allpost.xml$ sitemap_main.php [NC,L]
RewriteRule ^favicon.ico$ domain3.com.ico [NC,L]
# -- domain3.com --
</IfModule>

重新启动发动机
重写基/
#--域名1.com--
RewriteCond%{HTTP_HOST}^domain1\.com$[NC]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^sitemap.xml$domain1.com-sitemap.php[NC,L]
重写规则^sitemap page.xml$sitemap\u main.php[NC,L]
重写规则^favicon.ico$domain1.com.ico[NC,L]
#--域名1.com--
#--域名2.com--
RewriteCond%{HTTP_HOST}^domain2\.com$[NC]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^sitemap.xml$domain2.com-sitemap.php[NC,L]
重写规则^sitemap post.xml$sitemap\u main.php[NC,L]
重写规则^favicon.ico$domain2.com.ico[NC,L]
#--域名2.com--
#--域名3.com--
RewriteCond%{HTTP_HOST}^domain3\.com$[NC]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^sitemap.xml$domain3.com-sitemap.php[NC,L]
重写规则^sitemap allpost.xml$sitemap\u main.php[NC,L]
重写规则^favicon.ico$domain3.com.ico[NC,L]
#--域名3.com--
my.htaccess仅适用于每个站点中的第一条重写规则

当我尝试打开或在浏览器上打开时,显示的是第一个域的favicon

如果有任何帮助/想法,我将不胜感激


谢谢。

您的规则相互冲突。更清楚的是,对于这三种情况,只有每个域的第一条规则会被注意到。因此,请求sitemap.xml将适用于三个不同的域,但第一个域的后两个规则将始终用于所有三个域。那么,如果我希望所有规则都有效,如何修复它们?