Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
У меня тут проблема с поддоменами
Смотри если я в /etc/hosts/ указываю 127.0.0.1 magelan.loc sun.magelan.loc
я попадаю на свой индекс это отлично так и надоно если я указываю
127.0.0.1 magelan.loc *.magelan.loc
такого сайта не видит апач
Можешь помочь?
Не в сети
/etc/hosts не поддерживает wildcard
настраивай локально зону днс
Не в сети
Я реализовал поддомены так:
/etc/hosts
127.0.0.1 site.dev
127.0.0.1 *.site.dev
/etc/apache2/sites-available/site.dev.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName site.dev
ServerAlias *.site.dev
DocumentRoot /var/www/site/public
<Directory "/var/www/site/public">`
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/var/www/site/public/.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
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>
Т.о. при заходе на поддомен subdomain.site.dev можно выхватить
$server = explode('.', $request->server('HTTP_HOST'));
if(count($server) > 2){
// юзер зашел на поддомен
$subdomain = $server[0];
}
Как-то так....
Не в сети
Я сделал Через ДНС только вот вопрос по Ларавелю есть
Я допустим хочу зайти на сайт imedia.domen.loc/
Вот этот роут почему то не срабатывает
Route::domain('{account}.domen.loc')->group(function () {
Route::get('/', function ($account) {
dd($account);
});
});
А если вот так
Route::domain('{account}.domen.loc')->group(function () {
Route::get('/user', function ($account) {
dd($account);
});
});
То захожу но мне же корень тоже нужен как, туда попасть?
Изменено imediasun (14.08.2017 18:38:32)
Не в сети
Для примера, я пускаю юзеров только на те поддомены, которые соответствуют с уже имещимся аккаунтам…
Route::group(['domain' => '{account}.site.dev'], function () {
Route::get('/', function ($account) {
$server = explode('.', Request::server('HTTP_HOST'));
$profile = App\Profile::where('company_login', '=', $account)->first();
if($profile == Null){
return redirect('http://'.$server[1].'.'.$server[2]);
}else{
return view('welcome');
}
});
});
Изменено Dzhangar (14.08.2017 20:00:52)
Не в сети
Страницы 1