我正在努力在子目录中的同一服务器中托管多个laravel项目。
我想在example.com/CoreApp
和example.com/DataSync
进行laravel项目
- Root directory (example.com): React Js Project
- CoreApp (example.com/CoreApp) : Laravel Project
- DataSync (example.com/DataSync) : Laravel Project
example.com/
=>工作正常。example.com/CoreApp
=>工作正常。example.com/DataSync
=>它服务于我404 page
,而其他路线工作正常。像example.com/DataSync/telescope is working
罚款。注意:另外,我在RewriteBase /DataSync
的相应项目中添加了RewriteBase /CoreApp
和.htaccess
服务器配置:
- Digital Ocean Server
- Apache web server
- Ubuntu 16
这是我的虚拟主机的样子。
<VirtualHost *:80>
DocumentRoot /var/www/sites/html
Alias /CoreApp /var/www/sites/html/CoreApp
Alias /DataSync /var/www/sites/html/DataSync
<Directory /var/www/sites/html/CoreApp>
AllowOverride All
DirectoryIndex index.php
</Directory>
<Directory /var/www/sites/html/DataSync>
AllowOverride All
DirectoryIndex index.php
</Directory>
ServerName www.example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
<Directory "/var/www/sites/html">
Options Includes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
ServerAlias www.example.com
DocumentRoot /var/www/sites/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateKeyFile /etc/ssl/sites/key/myserver.key
SSLCertificateFile /etc/ssl/sites/certs/example_com.crt
SSLCertificateChainFile /etc/ssl/sites/certs/example_com.ca-bundle
<Directory "/var/www/sites/html">
Options Includes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
将Alias的虚拟主机文件更改为:
Alias /CoreApp /var/www/sites/html/CoreApp/public
Alias /DataSync /var/www/sites/html/DataSync/public
你必须提供公用文件夹的位置
您应该提供您的目录/公共URL。如果还是问题。然后提供您的目录/ public / index.php的URL。