我无法让我的.htaccess文件正确地为我的Laravel和Angular应用程序路由请求。
api
# Laravel api here
public/
...
public_html/
.htaccess
admin/
index.html
front/
index.html
我需要一些帮助,根据我正在进行的三个域名调用,使用正确的.htaccess进行路由设置:
api.domain.com > routes to /api/public
admin.domain.com > routes to /admin/index.html
domain.com > routes to /front/index.html
有人可以帮我吗?一件事是原始路线应该保持不变,admin.domain.com
应该保持不变,即使它获得子admin/
文件夹
答案 0 :(得分:2)
以下内容将发送除文件之外的所有网址,并排除在顶部。请测试。
RewriteEngine On
RewriteBase /
#If static don't change anything and go direct
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteRule \.(ttf|svg|otf|png|gif|jpeg|jpg|ico|swf|css|js|html|htm|woff)((\?.*)|)$ - [L,NC]
RewriteCond %{HTTP_HOST} admin.domain.com
RewriteRule .* /admin/index.html [QSA,L,NC]
RewriteCond %{HTTP_HOST} domain.com
RewriteRule .* /front/index.html [QSA,L,NC]
RewriteCond %{HTTP_HOST} api.domain.com
RewriteRule .* /api/public/index.php [QSA,L,NC]
答案 1 :(得分:1)
我不认为.htaccess是正确的方式,除非你在一个不允许你创建虚拟主机的共享主机上。
以下是vhost配置示例:
<VirtualHost *:80>
DocumentRoot /var/www/public_html/front/
ServerName domain.com
FallbackResource /index.html
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/public_html/admin/
ServerName admin.domain.com
FallbackResource /index.html
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/api/public/
ServerName api.domain.com
FallbackResource /index.php
</VirtualHost>