ladovel在子域名中,如何设置htaccess

时间:2014-12-16 21:48:18

标签: php apache .htaccess mod-rewrite laravel

我想在托管上设置laravel。

我的托管有结构:

   /
   |- domain.net
   |- domain.com
         |- web
         |- sub
             |- supersite
             |- calendar
                  |- vendor
                  |- bootstrap
                  |- app
                     ... (all laravel files)

我的托管上的主网站domain.com位于文件夹web中。所有子域都位于文件夹sub中。例如,我的laravel网站calendar可由calendar.domain.com

访问

我在网上找到了这个.htaccess。

DirectorySlash On
Options +FollowSymlinks -Indexes -MultiViews
AddDefaultCharset utf-8
DirectoryIndex /public/index.php

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /public/$1 [L,QSA]
</IfModule>

我将此代码添加到文件app/routes.php

Route::get('users', function()
{
    return 'Users!';
});

我将.htaccess放入文件夹calendar。网站calendar.domain.com运行正常,但网站calendar.domain.com/users返回服务器错误500。

你知道哪里有问题吗?感谢。

1 个答案:

答案 0 :(得分:1)

如果您的DocumentRoot为calender而您无法将其更改为calender/public,则可以在日历文件夹中的.htaccess中使用此文件:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ public/index.php [L]