1

我已经使用 angular 构建了网站的前端,并通过 Kirby 创建了 cms。Kirby 允许您从使用 cms 创建的结构构建 json api,如下所示

我现在要做的是使用 Kirby 提供的 api,即:

address.com/projects/api 

在我的角度应用程序中。我正在使用 html5 和 htaccess 来重写我的 url,因此我不需要在 url 中使用哈希,并且子页面上的页面刷新会被重定向到适当的角度视图。

address.com/work
address.com/about
address.com/single-project

我的 htaccess 看起来像这样

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html

Kirby 也需要自己的 htaccess 来提供页面,所以我的问题......是否可以在 address.com/projects/api 允许访问我的 json 模板并仍然保留角度干净的 url?

4

4 回答 4

4

如果我对您的理解正确,您想忽略 /projects/api?然后你可以这样做

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/projects/api [NC]
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html [L]
于 2015-05-21T19:40:37.980 回答
0

您可以在否定中添加更多排除项RewriteCond

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/(index|projects/api) [NC]
RewriteRule ^ index.html [L]
于 2015-05-21T19:35:32.967 回答
0

在发布#facepalm 后不久解决了这个问题。

对处于相同或相似情况的任何人起到作用的附加线

RewriteRule (api) index.php 
于 2015-05-21T19:43:17.303 回答
0

我有同样的问题,但以上都没有解决我的问题。

我当前的 .htaccess 如下图所示:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^app.mydomain.com [NC]
RewriteRule ^(.*)$ http://www.app.mydomain.com/$1 [L,R=301]

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
RewriteRule ^ /index.html

我的 API 文件夹路径是http://www.app.mydomain/api

于 2020-04-02T06:11:25.710 回答