通配符域在服务器上不起作用,显示“站点不可用”消息

时间:2019-03-22 19:22:45

标签: laravel apache dynamic wildcard-subdomain directadmin

我正在构建一个Laravel应用程序,每个公司都可以在子域上创建自己的页面,所以可以说apple.mywebsite.com。 这一切都可以在我的本地主机上正常运行。

但是,当我将其上传到服务器上时,找不到公司页面。 除了这个通配符域,我还有另外两个子域作为测试网站。

我已经在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>

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

我怎么了?

1 个答案:

答案 0 :(得分:0)

那太棒了! 顺便说一下,我使用Apache。