我知道这些问题已经回答了很长时间,但找不到的答案对我有用
我有以下网址http://dummy.com/api
来访问我的根文件夹,我将要进行项目(Laravel项目)。
我正在部署到远程主机,所以我没有加入父目录
我的项目(简单的Laravel项目)包含很多文件夹,顺便说一下,这些文件夹应该放在父目录(app,bootstrap,config...
)和Laravel项目的主index.php
所在的公共文件夹中。
所以我有这样的网址http://dummy.com/api/public/index.php
此目录包含自己的.htaccess
文件,其中包含以下内容。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L
这个东西是laravel所要求的。
所以我需要将http://dummy.com/api
的所有请求重定向到public/
子文件夹(默认为index.php)。
例如,http://dummy.com/api/users
应该是http://dummy.com/api/pulbic/users
但这应该对用户透明,而不是更改为真实的URL
我也从这里Common .htaccess Redirects
但这对我不起作用。请帮助制定此类规则以获得理想的结果 提前谢谢大家。
答案 0 :(得分:1)
在/api/
文件夹中尝试此.htaccess:
RewriteEngine On
RewriteBase /api/
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]