2015-01-18 8 views
1

Мы работаем на общем хостинге и запуске laravel на основном домене, который находится example.com, все работает отлично.Laravel subdomain 500 error

Мы упаковали в sudbomain test.example.com от визирования субдоменов менеджера в CPanel и указали, что это корень документа в /public_html/test

Как только мы посещаем test.example.com мы получаем 500 Внутренней ошибку сервера

Initial laravel's .htaccess:

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

    RewriteEngine On 

    # Redirect Trailing Slashes... 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

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

Мы изменились.

RewriteRule^index.php [L] 

в

RewriteRule^/index.php [L] 

Теперь, если мы посещаем test.example.com это перенаправлять tests.example.com/test и все работает нормально.

Но мы не уверены, почему он перенаправляет браузер на tests.example.com/test?

Обновлено

После дальнейших исследований мы обнаружили, что.

Если мы удалим эту строку.

RewriteRule ^(.*)/$ /$1 [L,R=301] 

Тогда как основной, так и субдомен работает отлично. Но нормально ли удалять эту строку.

Короче говоря, мы хотим запустить laravel в основном домене и что-то еще на субдомене.

+0

что, если вы идете tests.example.com/public? –

+0

Ничего в 'test.example.com', просто файл' index.php' с 'phpinfo();' в нем. –

+0

Вы имеете в виду, что/public_html/test не имеют laravel внутри? Просто index.php? –

ответ

3

Вы можете добавить ограничение на субдомен test.
Кроме того, вам необходимо избегать удаления косой черты для папок (в противном случае: loop -> 500 error).

Ваш Htaccess тогда станет

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

    RewriteEngine On 

    # Don't touch anything when coming from test subdomain 
    RewriteCond %{HTTP_HOST} ^test\. [NC] 
    RewriteRule^- [L] 

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

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^/index.php [L] 
</IfModule> 
Смежные вопросы