- 13, May 2024
- #1
Мне трудно запустить свое приложение (построенное на laravel 5.4) на поддомене с подстановочными знаками, который я настроил на своем локальном компьютере (с Apache 2.4.18 на Linux Mint 18.1).
Итак, я настроил для него виртуальный хост (domain.app) и субдомен (sub.domain.app), и мой файл Apache vhost выглядит следующим образом:
Но поскольку мне нужен поддомен с подстановочными знаками, то есть я не хочу жестко кодировать sub.domain.app в vhost, а хочу что-то вроде Anything.domain.app, поэтому я попытался заменить
<Каталог /var/www/html/test/sub.domain.app/public>
с
<Каталог /var/www/html/test/%0/public>
Я получаю следующие результаты:
Пожалуйста, может кто-нибудь мне помочь? заранее спасибо
Итак, я настроил для него виртуальный хост (domain.app) и субдомен (sub.domain.app), и мой файл Apache vhost выглядит следующим образом:
# This is for the primary domain (domain.app)
<VirtualHost *:80>
ServerName domain.app
ServerAlias www.domain.app
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/test/domain.app/public
<Directory /var/www/html/test/domain.app/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
</VirtualHost>
# This is for the subdomain (sub.domain.app)
<VirtualHost *:80>
ServerName domain.app
VirtualDocumentRoot /var/www/html/test/%0/public
ServerAlias *.domain.app
<Directory /var/www/html/test/sub.domain.app/public>
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
</Directory>
</VirtualHost>
Код (разметка): это отлично работает для всех следующих URL-адресов:
Но поскольку мне нужен поддомен с подстановочными знаками, то есть я не хочу жестко кодировать sub.domain.app в vhost, а хочу что-то вроде Anything.domain.app, поэтому я попытался заменить
<Каталог /var/www/html/test/sub.domain.app/public>
с
<Каталог /var/www/html/test/%0/public>
Я получаю следующие результаты:
- http://domain.app
(работает)
- http://domain.app/login
(работает)
- http://domain.app
(работает)
- http://sub.domain.app/login
(404 Не найдено. Запрошенный URL-адрес/логин не найден на этом сервере.)
Пожалуйста, может кто-нибудь мне помочь? заранее спасибо