我正在努力配置.htaccess文件中的重写规则。
我想在我的Wordpress文件夹中运行 Slim PHP App ,因此我可以为我的API重用SSL证书。
Slim App在/ api文件夹中运行,因此可以通过调用https://www.example.com/api
来访问它。
这很有效,但如果我打开一个API端点,例如 example.com/api/timesheet
,该网页会重定向到 404错误 Wordpress页面。
到目前为止我做了什么:
我排除了Wordpress根目录中api directory
文件中的.htaccess
:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(api|api/.*)$
RewriteCond %{HTTPS} !on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
并在.htaccess
内的api directory
文件中添加了这些新的Slim默认规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
答案 0 :(得分:0)
在经过大量尝试并将错误RewriteBase /api
添加到api目录中的.htaccess
文件后添加,以使其正常工作。
/api
中的最终.htaccess现在看起来像这样:
RewriteEngine On
RewriteBase /api
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]