从url中省略子目录

时间:2017-01-18 01:56:39

标签: apache .htaccess codeigniter

我正在使用XAMMP在apache上运行我的应用程序。我的主项目文件夹中有一个api项目,它位于我机器上的以下目录中。

/Applications/XAMPP/xamppfiles/htdocs/project/api/

api的主索引文件位于api/public/index.php

下的子文件夹中

我在加载index.php的公共文件夹中有一个.htaccess。 我想要的是使用以下网址访问我的api:

http://localhost/project/api/{api endpoints} http://localhost/project/api/public/{api endpoints}现在这个工作

我尝试在api文件夹中添加.htaccess并使用以下代码并行到api文件夹

RewriteEngine on
RewriteRule ^api/$ api/public [L]

我只是在没有记录错误的情况下找不到对象。

我尝试在我的apache文件夹中的httpd.conf中添加Alias

lias /Applications/XAMPP/xamppfiles/htdocs/academy/api "/Applications/XAMPP/xamppfiles/htdocs/academy/api/public"

同样的错误。

如何从我的网址中省略public并从api文件夹访问该文件夹中的index.php。在这几个小时阅读不同的SO帖子和其他论坛,但似乎无法让这个工作。

1 个答案:

答案 0 :(得分:0)

你几乎拥有它。把它放在api文件夹中的.htaccess中:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/project/api/public/
RewriteRule ^(.*)$ public/$1

我省略了[L]标志,因为没有必要,你可能想稍后再进行重写。