子域和域的laravel设置中的.htaccess设置

时间:2016-04-27 20:22:46

标签: laravel

我在我的主域安装laravel项目,我希望在子域上托管另一个项目,但是当我访问子域时,它显示500错误

如何解决它

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !
^public
RewriteRule ^(.*)$ public/ $1
[L]
</IfModule>

当我第一次尝试访问子域时,我是 获得503到许多重定向请求错误。如果 .htaccess-root文件被删除子域显示 目录内容。然后我开始摆弄 写另一个.htaccess-root文件。我每次都得到 工作子域的域断了,副 - 反之亦然。以下是我一直在尝试的一些事情。一世 甚至认为也许我应该删除 public / .htaccess并尝试在所有的重写 两个域的根级别,但我无法得到任何东西 工作正常。

1 个答案:

答案 0 :(得分:0)

这套配置对我有用:

/var/www/website-a/public/.htaccess

/var/www/website-b/public/.htaccess

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

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

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

/etc/apache2/sites-enabled/website.conf

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/website-a/public
        ServerName domaina.com
        ServerAlias domaina-alias.com
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory /var/www/website-a/public>
                Order Deny,Allow
                Allow from all
                AllowOverride all
                CheckSpelling ON
        </Directory>

</VirtualHost>


<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/website-b
        ServerName subdomain.domaina.com
        ServerAlias subdomain-b.domaina.com
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory /var/www/website-b>
                Order Deny,Allow
                Allow from all
                AllowOverride all
                CheckSpelling ON
        </Directory>

</VirtualHost>

试一试?然后运行service apache2 reload 如果仍然有500个错误,请检查Apache日志(如果您使用的是Ubuntu,请查看/var/log/apache2) 看看error.log

中的内容

同时检查(project root)/storage/logs/

中laravel的错误日志