【发布时间】:2015-07-22 18:04:07
【问题描述】:
我知道这样的问题已经得到了很多时间的回答,但找到的答案都对我不起作用。
我有以下 url http://dummy.com/api 来访问我的根文件夹,我将在其中拥有我的项目(Laravel 项目)。
我正在部署到远程主机,所以我无法访问父目录。
我的项目(简单的 Laravel 项目)由很多文件夹组成,顺便说一下,这些文件夹应放置在 Laravel 项目的主要 index.php 所在的父目录(app,bootstrap,config...)和公用文件夹中。
所以我有这样的网址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
但这对我不起作用。请帮助创建此类规则以获得所需的结果。
提前谢谢大家。
【问题讨论】:
-
.htaccess 节目是否位于
/api/public/目录中?/api/也有 .htaccess 吗? -
我试图在根目录中配置
htacces以获得所需的结果,是的,在 /api/public 内部还有我在上面提供的另一个 htaccess 文件。
标签: php apache .htaccess mod-rewrite redirect