通配符域不在服务器上工作,给出站点不可用消息

问题描述 投票:0回答:1

我正在构建一个Laravel应用程序,每个公司都可以在子域上创建自己的页面,所以让我们说apple.mywebsite.com。这一切都适用于我的localhost。

但是,当我在服务器上上传时,无法找到公司页面。除了这个通配符域,我还有2个其他子域作为测试网站。

我已经在DNS中将* .mywebsite.com的A记录指向服务器IP地址。

现在我在httpd.conf中设置了以下内容:

|*if !SUB|
|?DOCROOT=/home/mycompany/domains/mycompany.com/public_html/public|
|*endif|
|*if SUB="b2btest"| 
|?DOCROOT=/home/mycompany/domains/mycompany.com/public_html/b2btest/public|
|*endif|
|*if SUB="staging"| 
|?DOCROOT=/home/mycompany/domains/mycompany.com/public_html/staging/public|
|*endif|

我的.htaccess看起来如下:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://mycompany.com/$1 [R,L]

RewriteCond %{HTTP_HOST} ^www.mycompany.com [NC]
RewriteRule ^(.*)$ https://mycompany.com/$1 [L,R=301,NC]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

这两个子域和主域都在工作,但是当我转到通配符子域时,它们向我显示“站点不可用”消息。

我错了什么?

laravel apache dynamic wildcard-subdomain directadmin
1个回答
0
投票

那太好了!我顺便使用Apache。

© www.soinside.com 2019 - 2024. All rights reserved.