Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通配符子域仅工作index.php文件_Php_.htaccess_Url - Fatal编程技术网

通配符子域仅工作index.php文件

通配符子域仅工作index.php文件,php,.htaccess,url,Php,.htaccess,Url,我对多个子域使用通配符目录,但只有index.php工作正常。例如: *. example.com/index.php 其他文件内容显示为index.php 例如,如果我转到*.example.com/style.css,则会显示index.php内容。为什么会发生这种情况 这是我的.htacess文件: Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteRule ^([aA-zZ])$ index.php?site

我对多个子域使用通配符目录,但只有
index.php
工作正常。例如:

*. example.com/index.php
其他文件内容显示为
index.php

例如,如果我转到
*.example.com/style.css
,则会显示
index.php
内容。为什么会发生这种情况

这是我的
.htacess
文件:

Options +FollowSymLinks
RewriteEngine On

RewriteBase /

RewriteRule ^([aA-zZ])$ index.php?siteName=$1
RewriteCond %{HTTP_HOST} ^(^.*)\.domain.com
RewriteRule (.*) index.php?siteName=%1
因为:
(.*)
将捕获任何URI并将其重写为index.php。如果要从重写规则中排除实际存在的文件,请添加以下内容:
RewriteCond%{REQUEST_FILENAME}-f
。现在,您的两个重写规则重叠,执行这两个规则没有多大意义,也许您应该在问题中准确地包含您要完成的内容。因为:
(.*)
将捕获任何URI并将其重写到index.php。如果要从重写规则中排除实际存在的文件,请添加以下内容:
RewriteCond%{REQUEST_FILENAME}-f
。现在,您的两个重写规则重叠,执行这两个规则没有多大意义,也许您应该在问题中准确地包含您想要完成的内容。