使用htaccess

时间:2017-06-24 02:34:49

标签: php wordpress .htaccess mod-rewrite slim-3

我正在努力配置.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]

1 个答案:

答案 0 :(得分:0)

在经过大量尝试并将错误RewriteBase /api添加到a​​pi目录中的.htaccess文件后添加,以使其正常工作。

/api中的最终.htaccess现在看起来像这样:

RewriteEngine On
RewriteBase   /api
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]