使用重写引擎将多个域路由到一台服务器上的不同路径
Using rewrite engine to route multiple domains to different paths on one server
我有两个域:
domain1.com
domain2.com
我有一台 Apache 2 服务器,有一个文档根 /svr.
我希望发生以下情况:
domain1.com
相当于 /svr/examplepath/thisisadir/param/domain1
的路由
domain2.com
相当于 /svr/examplepath/thisisadir/param/domain2
的路由
我尝试在 /svr,
中将 .htaccess
与 RewriteEngine 结合使用,在每个主机名可用的站点中使用 VirtualHost 声明并仅使用 301 重定向。但是,我不能使用简单的 301,因为用户仍应在其浏览器中看到 domain1.com
。
即domain1.com/about-this-site
应映射到 /svr/examplepath/thisisadir/param/domain1/about-this-site.
我无法让 RewriteEngine 将主机名路由到它们各自的端点,任何建议将不胜感激。我目前正在尝试在服务器根目录中的 .htaccess
中使用 HTTP_HOST
,但重写规则仍然没有生效。
伊尔米翁
DocumentRoot directive sets the directory from which httpd will serve files and it is allowed in <VirtualHost> Context,所以你可以在你的 .conf
文件中做这样的事情:
<VirtualHost *:80>
ServerName domain1.example.com
DocumentRoot /svr/examplepath/thisisadir/param/domain1
...
</VirtualHost>
<VirtualHost *:80>
ServerName domain2.example.com
DocumentRoot /svr/examplepath/thisisadir/param/domain2
...
</VirtualHost>
我有两个域:
domain1.com
domain2.com
我有一台 Apache 2 服务器,有一个文档根 /svr.
我希望发生以下情况:
domain1.com
相当于/svr/examplepath/thisisadir/param/domain1
的路由
domain2.com
相当于/svr/examplepath/thisisadir/param/domain2
的路由
我尝试在 /svr,
中将 .htaccess
与 RewriteEngine 结合使用,在每个主机名可用的站点中使用 VirtualHost 声明并仅使用 301 重定向。但是,我不能使用简单的 301,因为用户仍应在其浏览器中看到 domain1.com
。
即domain1.com/about-this-site
应映射到 /svr/examplepath/thisisadir/param/domain1/about-this-site.
我无法让 RewriteEngine 将主机名路由到它们各自的端点,任何建议将不胜感激。我目前正在尝试在服务器根目录中的 .htaccess
中使用 HTTP_HOST
,但重写规则仍然没有生效。
伊尔米翁
DocumentRoot directive sets the directory from which httpd will serve files and it is allowed in <VirtualHost> Context,所以你可以在你的 .conf
文件中做这样的事情:
<VirtualHost *:80>
ServerName domain1.example.com
DocumentRoot /svr/examplepath/thisisadir/param/domain1
...
</VirtualHost>
<VirtualHost *:80>
ServerName domain2.example.com
DocumentRoot /svr/examplepath/thisisadir/param/domain2
...
</VirtualHost>