Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
Php 在.htaccess中获取子域_Php_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php 在.htaccess中获取子域

Php 在.htaccess中获取子域,php,regex,apache,.htaccess,mod-rewrite,Php,Regex,Apache,.htaccess,Mod Rewrite,我有以下.htaccess内容: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^(.*)\.*(.+) RewriteRule ^((?s).*)$ index.php?_uri=/$1&_subdomain=%1&_host=%3 [QSA,L] 我想获取url的子域(如果存在),但是当我向\.添加一个量词时,\\u子域的

我有以下.htaccess内容:

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

RewriteCond %{HTTP_HOST} ^(.*)\.*(.+) 

RewriteRule ^((?s).*)$ index.php?_uri=/$1&_subdomain=%1&_host=%3 [QSA,L]
我想获取url的
子域
(如果存在),但是当我向
\.
添加一个量词时,
\\u子域
的结果是示例。localhost而不是示例。 完整的url是示例.localhost。 任何人都可以向我解释吗?

使用
^(.*)\(.+)


您当前的正则表达式使
成为可选的,而它应该只需要一次。由于
\.
匹配0次或更多次,因此
^(.*)
的贪婪匹配将捕获所有内容,直到最后一个字符被
(.+)

匹配,但我想要(.*)和(\)是可选的。有没有一种方法可以将其捕获为可选,并将(.*)的内容保存到下面的_子域?因此,您需要的是:如果字符串不包含
,则捕获所有内容,否则捕获所有内容直到
?是的,捕获所有内容直到
。我已经弄清楚了
(.*)
是如何贪婪的,然后我将模式替换为
^([a-zA-Z0-9\-]*)\.*(.+)
,它就可以工作了。谢谢你这么有帮助的解释。“完整的url是
示例。localhost
”-但是直播站点呢
subdomain.example.com
?现在它正处于开发和测试阶段,我将在之后处理一个实时站点