2017-01-17 76 views
2

我的网站,我在本地主机上http://example运行,我有目录中包含我的API,因此它的http://example/api的.htaccess重新路由到子目录

api文件夹,我对API我的根目录的根哪是public目录。所以/api/public/...

我想有一个.htaccess,当用户点击http://example/api/{api parameters}时将用户重定向到public。因此,我可以有一个干净的网址,而不必写这http://example/api/public/{api parameters}

我试过,但无济于事

RewriteEngine On 

RewriteCond %{REQUEST_URI} !^/api 
RewriteRule ^api/(.*) /api/public/$1 [L] 

我上面从SO post但还是没能得到它的工作。

+0

只要删除''RewriteCond''行,你应该没问题。 – arkascha

+0

虽然问题是您实际上通过“api参数”引用的内容以及如何处理这些内容...... – arkascha

+0

@arkascha不起作用。 – bos570

回答

0

尝试使用:

RewriteEngine On 
RewriteBase /api/public/ 

引用一个stack overflow answer, “通过具有RewriteBase那里,你做的相对路径来关闭RewriteBase参数。”

使用这种方法,我相信你将不得不重写所有不属于基本目录的路径。如果这是一个问题,您可以为每个页面创建一个规则。

更新:您可能可以编写一个规则,在检查相对路径之前/之后检查该路径中的文件。