0

在我使用 Symfony 2.2 完成的项目(一个 Web API)中,我设置了 http 基本身份验证。它在本地工作正常(在 windows 上一个 XAMPP 稳定版本和带有 Lion 的本地 mac 中的 mysql db 测试),所以我认为这不是密码编码问题。我们有一个安装了几个 php 版本的托管服务器。我们应用程序目录中的 PHPinfo 显示 5.4.16 和 CGI​​/FastCGI。我们只允许通过 .htaccess 更改参数 我们现在将它放在我们主站点的子目录中,例如http://oursite.com/projectName/symfonyDirsHere(app , web, etc...)

在 dev.log:security.INFO:发生身份验证异常;重定向到身份验证入口点(在 SecurityContext 中找不到令牌。) [] [] 所以我怀疑是 fastcgi 问题没有传递授权参数,正如 src/symfony/src/Symfony/Component/HttpFoundation/ServerBag.php 中所解释的那样,但是我无法让它工作,可能是因为我不在带有重定向到 /web 的根域目录中?我在 phpinfo 没有看到任何关于 mod-rewrite 的信息。也许它没有启用?

我的 htaccess:

DirectoryIndex app.php
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{CONTEXT_PREFIX}/$2 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteRule .? %{ENV:BASE}app.php [L]
#Esto por el tema del fastcgi en apache
RewriteCond %{HTTP:Authorization} ^(.+)$
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
SetEnv TZ Europe/Madrid
</IfModule>
<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

我将不胜感激任何帮助/建议/想法来解决问题。先感谢您

4

0 回答 0