【问题标题】:symfony 1.4 and strange 403 forbidden errorsymfony 1.4 和奇怪的 403 禁止错误
【发布时间】:2012-10-26 09:04:44
【问题描述】:

我们有开发服务器和生产服务器,它只发生在生产服务器中。

当我们使用 http://[domain].com/index.php 访问该站点时,它工作正常。

但如果我们在末尾使用斜杠 http://[domain].com/index.php/ 访问,它会显示 403 forbidden error

奇怪的是,当有/xxx.php//xxx.asp//xxx.js/时,它也会显示403 forbidden error。在这些情况下,它似乎不会重定向到 index.php

如果我们访问 /abc//abc.a/ 等,它会重定向到 index.php 并显示 symfony 404 error 这是正确的。

有人遇到过这种情况吗?

【问题讨论】:

  • 服务器运行的是什么操作系统?您检查过文件/文件夹权限吗?
  • 它是 apache,我不认为它是文件/文件夹权限。 index.php 是可读的。并且所有请求都应该重定向到 index.php 进行处理。就我而言,某些带有 .php/ 或 .js/ 或 .asp/ 的请求不会重定向到 index.php。相反,它似乎识别为文件夹并尝试访问并收到 403 错误。
  • 我们可以查看您的 htaccess 和/或您的 vhost 配置吗?

标签: php apache symfony-1.4


【解决方案1】:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

将它放在您的 .htaccess 文件根文件夹中。

【讨论】:

    【解决方案2】:

    您是否尝试过在您的 Web 根目录中修改您的 .htaccess 文件?即添加以下规则:

    RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
    

    这样,以斜杠结尾的URLs 将被规范化,就好像没有它一样

    【讨论】:

    • 感谢您的提示,但没有成功,所有的 css 和 js 都消失了。我认为问题与服务器配置有关,因为相同的代码 + .htaccess 正在开发服务器上运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 2019-03-10
    • 1970-01-01
    相关资源
    最近更新 更多