我正在构建一个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>
两个子域和主域都在工作,但是当我转到通配符子域时,它们向我显示“站点不可用”消息。
我怎么了?
答案 0 :(得分:0)
那太棒了! 顺便说一下,我使用Apache。