max*_*022 5 apache .htaccess mod-rewrite web-hosting symfony
我有一个网站托管在/var/www/thesite(apache 服务器)中,它是一个Symfony2网站,所以在这个文件夹中我有一个web我的虚拟主机指向的文件夹。
所以我的虚拟主机是 www.mysite.com -> /var/www/thesite/web
在这个 web 文件夹中,我有一个.htaccess很好地格式化 URL。
现在,我在 中添加了一个 API /var/www/thesite/api,该 API 是使用Silex. 我想将所有请求重定向http://www.mysite.com/api到这个新框架。
所以我添加了 /var/www/thesite/web/.htaccess
RewriteCond %{REQUEST_URI} ^/api
RewriteRule ^api(.*)$ ../api/web/index.php [NC,QSA,L]
Run Code Online (Sandbox Code Playgroud)
但我得到:
错误的请求
您的浏览器发送了此服务器无法理解的请求。
我不确定是否可以访问.htaccess. 我不想更改我的虚拟主机目标目录以避免安全漏洞。
我该如何解决这个问题?
你不能路由请求外网站的文档根目录,这是/var/www/thesite/web。所以你不能访问/var/www/thesite/或/var/www/thesite/api从/var/www/thesite/web目录内部。400 Bad 请求是因为../api/您的规则目标的位。
您可以尝试做的只是使用 php 来包含/要求 api 的 index.php:
RewriteRule ^api/(.*)$ /index_api.php [L]
Run Code Online (Sandbox Code Playgroud)
并且在index_api.php您可以包含或要求“../api/web/index.php”文件中。
| 归档时间: |
|
| 查看次数: |
9660 次 |
| 最近记录: |