我想访问domain.com/api/(.*)
而不是domain.com/public/api/(.*)
目录结构:
domain.com
__folder1
__folder2
__public
____api
______.htaccess2
____afolder1
____afolder2
____index.html
__folder3
__file1
__file2
__.htaccess1
.htaccess1
RewriteEngine on
SetEnv APPLICATION_ENV production
RewriteRule ^$ /public/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/public/
RewriteCond %{REQUEST_URI} !^/api/
RewriteRule ^(.*)$ /public/$1 [L]
.htaccess2
RewriteEngine on
SetEnv APPLICATION_ENV production
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
我尝试了不同的组合,最后找到了最简单的一个。我尝试了 Alias,将 api 文件夹放在根目录等。
需要指出的是,公共文件夹中的 index.html 首先在 domain.com 上加载,公共文件夹是文档根目录。