0

我想要的是这样的情况:

http://example.com/api/whatever将指向处理 JSON 的 PHP API。

http://example/whatever将指向单个静态 HTML 文件,该文件使用前端路由来决定显示什么。

这可能吗?我不确定如何让不太具体的规则指向单个文件并仍然允许它/api/工作。这是我目前的 .htaccess 文件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule .* client/index.html [L]

RewriteCond %{REQUEST_URI} !^/api/
RewriteRule api/.* index.php [QSA]

任何帮助将不胜感激。谢谢 :)

4

2 回答 2

1

您可以在根目录的 .htaccess 文件中尝试这样的操作:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI}  !api\.php    [NC]
RewriteCond %{REQUEST_URI}  ^/api        [NC]    
RewriteRule ^(.*)     api.php/$1         [L,QSA]

RewriteCond %{REQUEST_URI} !static\.html [NC]
RewriteCond %{REQUEST_URI} !api          [NC]    
RewriteRule ^(.*)     static.html/$1     [L,QSA]

对于永久重定向,替换[L,QSA][R=301,L,QSA]

这是关于如何完成 OP 描述的总体思路。无法更具体地了解可用信息。

于 2013-02-25T22:00:09.470 回答
0

为什么不简单地使用 2 个 .htaccess 文件,一个在根目录中具有所需条件,另一个在 /api 文件夹中具有这些特定规则?

于 2013-02-25T21:43:47.483 回答