htaccess指向子域到文件夹

Ale*_*lov 2 subdomain .htaccess point

您好,我怎么能通过htaccess将一些子域指向某个文件夹.

我用这个来指出,它有效,但我不能让它适用于其他子域..

RewriteCond %{HTTP_HOST} !^www\.example.org
RewriteCond %{HTTP_HOST} some1\.example.org
RewriteRule ^(.*)$ /some1_folder/index.php/$1
RewriteRule ^some1$ /some1_folder/index.php/$1
Run Code Online (Sandbox Code Playgroud)

http://some1.example.org/Content => http://example.org/some1/index.php/Content

如果我做到了:

RewriteCond %{HTTP_HOST} !^www\.example.org
RewriteCond %{HTTP_HOST} some1\.example.org
RewriteRule ^(.*)$ /some1_folder/index.php/$1
RewriteRule ^some1$ /some1_folder/index.php/$1

RewriteCond %{HTTP_HOST} !^www\.example.org
RewriteCond %{HTTP_HOST} some2\.example.org
RewriteRule ^(.*)$ /some2_folder/index.php/$1
RewriteRule ^some2$ /some2_folder/index.php/$1
Run Code Online (Sandbox Code Playgroud)

我得到500内部错误.

另外,我如何将所有不存在的域指向某个文件夹(foo.example.org => www.example.org).谢谢.

Eri*_*ic3 6

通过%1在RewriteRule中使用以从之前的RewriteCond中获取括号内的值,为所有子域制定一组规则.

RewriteCond %{HTTP_HOST} !^www\.example\.org
RewriteCond %{HTTP_HOST} ^(.*)\.example\.org
RewriteRule ^(.*)$ http://www.example.org/%1/index.php/$1
Run Code Online (Sandbox Code Playgroud)

要将所有不存在的子域重定向到域,请在虚拟主机配置文件末尾创建一个包含ServerAlias *所有未定义域的catch-all VirtualHost块,以及将所有请求转发到您想要默认的域的RewriteRule.