Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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/8/.htaccess/6.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
Regex 将第三级和第二级域重定向到localhost上的目录_Regex_.htaccess_Dns_Localhost - Fatal编程技术网

Regex 将第三级和第二级域重定向到localhost上的目录

Regex 将第三级和第二级域重定向到localhost上的目录,regex,.htaccess,dns,localhost,Regex,.htaccess,Dns,Localhost,在DNS代理的帮助下,设置我的本地主机,使顶级域为“l”(example.l)的任何地址重定向到本地主机。但是我想打开基于二级域的特定文件夹(example.l->localhost/example) 我认为解决方案可能是在htaccess文件中,该文件位于根目录(在我的例子中是C:\wamp\www\中) 我找到了一些子域的代码,并对其进行了一些更改,以便在我的情况下可以使用: RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.l Rewrit

在DNS代理的帮助下,设置我的本地主机,使顶级域为“l”(example.l)的任何地址重定向到本地主机。但是我想打开基于二级域的特定文件夹(example.l->localhost/example) 我认为解决方案可能是在htaccess文件中,该文件位于根目录(在我的例子中是C:\wamp\www\中)

我找到了一些子域的代码,并对其进行了一些更改,以便在我的情况下可以使用:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.l
RewriteCond %{HTTP_HOST} ^([^.]+)\.l
RewriteRule ^$ /$1 [L]
它适用于第二级域,但不透明(example.l变为example.l/example),第三级域被忽略(但我认为可以用目标目录中的另一个htaccess文件修复)。 我完全不懂正则表达式,所以我不能让它正常工作

有什么想法吗


顺便说一句,如果我将域添加到vshost文件中,它工作得很好,但是避免对每个域都这样做是我试图完成的重点…

你想做的是使用,而不是
修改

这是一个稍微复杂的问题,因为它取决于系统的配置方式、操作系统和运行的Apache版本

但是,一般来说,它基本上需要在
http.conf
中启用命名虚拟主机,然后为每个主机添加指向不同目录的特定配置,如下所示:

#启用命名虚拟主机
名称虚拟主机*:80
#设置一个主机
ServerName示例.l
ServerAlias*.example.l
DocumentRoot“C:/wamp/www/example”
#再加一个
ServerName other.l
DocumentRoot“C:/wamp/www/other”
在生产系统中,例如在Linux操作系统上运行的生产系统中,通常会为每个域维护一个单独的
.conf
,以使其更简单


编辑:我不是Windows用户,所以我不是100%正确的目录分隔符格式。我更改了它以匹配我在网上找到的示例。

谢谢你的回答,但正如我所写的那样-我按照你的建议做了,而且它很有效,但这正是我想要避免的-需要在conf文件中设置每个新域。。。