Apache 使用.htaccess将所有请求重定向到子域
我正在我的服务器上托管一个Laravel应用程序,并已设置了一个子域以在我的虚拟主机中托管它 我的服务器上有另一个子域,经过几个小时的尝试设置.htaccess文件后,我想出了下面的方法,将所有请求重定向到Apache 使用.htaccess将所有请求重定向到子域,apache,.htaccess,laravel,mod-rewrite,redirect,Apache,.htaccess,Laravel,Mod Rewrite,Redirect,我正在我的服务器上托管一个Laravel应用程序,并已设置了一个子域以在我的虚拟主机中托管它 我的服务器上有另一个子域,经过几个小时的尝试设置.htaccess文件后,我想出了下面的方法,将所有请求重定向到www.mysite.net/example到我的子域example.mysite.net(例如www.mysite.net/example/12345转到example.mysite.net/12345) 我想对其进行调整,使其与Laravel一起工作,但考虑到Laravel是通过以下路径托
www.mysite.net/example
到我的子域example.mysite.net
(例如www.mysite.net/example/12345
转到example.mysite.net/12345
)
我想对其进行调整,使其与Laravel一起工作,但考虑到Laravel是通过以下路径托管的mysite.net/Laravel/public
,而不是mysite.net/example
如何编辑上述.htaccess
以将所有请求重定向到mysite.net/laravel/public
到laravel.mysite.net
?即mysite.net/laravel/public/12345
将重定向到laravel.mysite.net/12345
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?(mysite\.net)$ [NC]
RewriteRule ^(.*)$ http://example.%1/$1 [R=301,L,NE]
编辑
这是我通过Apache添加的虚拟主机
<VirtualHost *:80>
ServerName laravel.mysite.net
DocumentRoot /var/www/laravel/public
<Directory /var/www/laravel/public>
Options -Indexes
</Directory>
</VirtualHost>
ServerName laravel.mysite.net
DocumentRoot/var/www/laravel/public
选项-索引
您可以使用htaccess的重定向规则将任何目录重定向到不同的域。使用以下代码:
Redirect 302 /laravel/public/ http://laravel.mysite.net/
请让我知道它是否对您有帮助。将此规则作为您的第一条规则放入
/var/www/laravel/public/.htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?mysite\.net$ [NC]
RewriteCond %{THE_REQUEST} /laravel/public/(\S*)\s [NC]
RewriteRule ^ http://laravel.mysite.net/%1 [L,R=302]
但这并不能满足他们的要求,就像我需要的那样。注意,我需要将请求转移到子域,例如
mysite.net/laravel/public/这是一个示例
转到laravel.mysite.net/这是一个示例
这将请求转移到所需域。我试过这个。试试这一次,然后让我知道如果有任何问题来。