我在我的主域安装laravel项目,我希望在子域上托管另一个项目,但是当我访问子域时,它显示500错误
如何解决它
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !
^public
RewriteRule ^(.*)$ public/ $1
[L]
</IfModule>
当我第一次尝试访问子域时,我是 获得503到许多重定向请求错误。如果 .htaccess-root文件被删除子域显示 目录内容。然后我开始摆弄 写另一个.htaccess-root文件。我每次都得到 工作子域的域断了,副 - 反之亦然。以下是我一直在尝试的一些事情。一世 甚至认为也许我应该删除 public / .htaccess并尝试在所有的重写 两个域的根级别,但我无法得到任何东西 工作正常。
答案 0 :(得分:0)
这套配置对我有用:
<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>
<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/