【问题标题】:Issue with filenames with .php in the name image.php.jpg [duplicate]名称 image.php.jpg 中带有 .php 的文件名存在问题 [重复]
【发布时间】:2014-07-31 10:08:55
【问题描述】:

刚刚将一个站点从运行 IIS 的 Windows 服务器移动到运行 Apache 的 Linux 服务器上,有一些图像的标题,例如 image.php.jpg(它们是图像)。

访问它们时,我收到此错误:

A file permissions error has occurred. Please check the permissions on the script and the directory it is in and try again.

通过阅读,我需要在 .htaccess 文件中添加一些内容,因为它是 Windows 服务器上的一个站点,所以没有。

能否请人指出我需要在 .htaccess 文件中放入什么以避免服务器将文件名中带有 .php 的“任何内容”处理为 .php 页面?

提前谢谢你。

【问题讨论】:

  • 一个例子,说明为什么在文件名中加上不表示文件扩展名的点是个坏主意。
  • @wumm — 不,不是。
  • .htaccess 是 Apache 的东西,不是 UNIX 的东西,你可以在 Windows 服务器上使用它们。
  • @Quentin,谢谢我已经编辑了帖子以正确指示它正在运行的服务器和网络服务器。
  • Apache 不应将此文件作为 PHP 脚本处理,因为它以 .jpg 而不是 .php 结尾,您确定这是问题所在吗?你能验证 apache 用户是否可以读取这些图像文件吗?

标签: php linux .htaccess


【解决方案1】:

文件夹和图像文件需要对 apache 用户具有“读取”权限。

如果您可以访问操作系统上的 shell,请尝试以下操作:

chmod 755 <folder name>

这将授予所有系统用户浏览文件夹的权限,并允许您自己更改它。 在文件夹内:

chmod 644 *

这将授予所有用户读取文件的权限并允许您进行更改。

如果您无权访问系统 shell,请尝试使用 FTP 客户端授予相同的权限...

【讨论】:

  • 嗨 Sergio,我可以确认文件夹是 755,单个文件是 644,但它仍然无法正常工作。
【解决方案2】:

这行得通:

<FilesMatch \.jpg$>
SetHandler image/jpg
</FilesMatch> 

【讨论】:

    猜你喜欢
    • 2012-10-07
    • 2016-12-28
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多