我的。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/
文件夹
下面将发送除文件外的所有url,并在顶部排除。请测试。
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]
我不认为。htaccess是正确的方式,除非你是在一个不允许你创建vhost的共享主机上。
下面是一个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>