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