Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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/5.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
Apache 使用.htaccess将所有请求重定向到子域_Apache_.htaccess_Laravel_Mod Rewrite_Redirect - Fatal编程技术网

Apache 使用.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是通过以下路径托

我正在我的服务器上托管一个Laravel应用程序,并已设置了一个子域以在我的虚拟主机中托管它

我的服务器上有另一个子域,经过几个小时的尝试设置.htaccess文件后,我想出了下面的方法,将所有请求重定向到
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/这是一个示例
这将请求转移到所需域。我试过这个。试试这一次,然后让我知道如果有任何问题来。