我遇到问题为我的问题找到合适的RewriteRules。
我想在Apache vhost配置中配置规则集。
我的目标是所有网址都以403 Forbidden结束。只有/ api调用应该转到index.php,这是我的symfony项目的入口点。
现在我有以下内容,但它无法正常工作:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/api$
RewriteRule (.*) - [F]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
根据此规则,所有呼叫都以403结尾。
另一种方式是:
RewriteCond %{REQUEST_URI} !^/api$
这样,所有URls都会进入我的symfony项目。除了/ api结束于403.但我不想这样。如上所述,我反过来想要它。
感谢您的帮助!
答案 0 :(得分:0)
你关闭了。使用原始请求确保用户无法访问index.php
。
RewriteCond %{THE_REQUEST} ^\S+\s+/api/?(?:\?\S*)?\s
RewriteRule ^ index.php [END]
RewriteRule ^ - [F]