Php 主服务器localhost上删除映像时出现禁止的错误:工作正常

Php 主服务器localhost上删除映像时出现禁止的错误:工作正常,php,html,.htaccess,Php,Html,.htaccess,我已经开发了一个网站。在1个页面上有一个图片库,图片可以完美上传,但一旦我删除了一个图片,就会出现以下错误: *禁止 您没有在此服务器上访问/fdccms/backend/project_categories/view_image.php的权限。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。* 删除一个映像在本地主机上运行得很好,但我不知道服务器有什么问题。 在.htaccess中,我还包括了重写规则: RewriteRule ^view_image/(

我已经开发了一个网站。在1个页面上有一个图片库,图片可以完美上传,但一旦我删除了一个图片,就会出现以下错误:

*禁止 您没有在此服务器上访问/fdccms/backend/project_categories/view_image.php的权限。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。* 删除一个映像在本地主机上运行得很好,但我不知道服务器有什么问题。 在.htaccess中,我还包括了重写规则:

RewriteRule ^view_image/([^/]*)/?(.*)$ http://fdc-int.com/fdccms/backend/project_categories/view_image.php?id=$1&del=$2

检查您的文件夹权限。确保您拥有该文件夹的读、写和执行权限。(即777)

如果是您的
.htaccess
,请尝试以下操作:

RewriteRule ^view_image/([^/]*)/?(.*) /backend/project_categories/view_image.php?id=$1&del=$2 [L]
RewriteRule ^view_image/([^/]*)/ /backend/project_categories/view_image.php?id=$1&del=%{QUERY_STRING} [L]
既然你说fdccms是你的webroot


无论哪种方式,
$
都是不需要的,因为
与任何字符都匹配。

我想您的重写规则有些问题

可能?(.*)无法按预期工作。应该自动添加查询字符串,但有时不会这样做。我不确定,如果它不起作用,是否有问题?在重写目标中

所以试试这个:

RewriteRule ^view_image/([^/]*)/?(.*) /backend/project_categories/view_image.php?id=$1&del=$2 [L]
RewriteRule ^view_image/([^/]*)/ /backend/project_categories/view_image.php?id=$1&del=%{QUERY_STRING} [L]

很抱歉,如果这是一个愚蠢的问题,但由于我是php新手,我想问一下你所说的文件夹权限是用于图像文件夹的吗?对吗?…这是777,但没有结果…我添加了一个[L]也是,但这也不起作用…您需要检查层次结构中每个文件夹的权限,以确保您可以在目录中写入。是的…属性为777…图像很容易上载..但是要删除禁止的错误,您使用什么代码来删除文件?可能是您的web主机不允许此功能吗?我正在使用以下代码:if(isset($\u GET['del']){//GET image name$img=$\u GET['del'];$img=strrchr($img,“/”);$img=substr($img,1);$imagefile=substr($img,0);//从akhbar(详细信息表中删除$query=“从项目档案中删除”\u pic image='img';mysql查询($query)或者die('Error:'.mysql_Error());@unlink($\u GET['del']);/这将给出一个错误。请注意上面的输出*,它位于header()调用/header(“Location:view_image.php?id=$\u GET[id]”)之前。此请求是否有效:?或者您只需要一个内部重定向,而不能使用http://try this:RewriteRule^view_image/([^/]*)/?(.*)$fdccms/backend/project_categories/view_image.php?id=$1&del=$2[L](那么,fdccms应该在您的webroot中)fdccms在我的webroot中…我这样做了…但没有结果…我几乎尝试了所有的方法…我仍然猜测,您的.htaccess有问题。我把答案改了一点。请检查您的代码是否存在SQL注入问题(现在就在这里),如果只删除了正确的文件,请检查$\u GET['del']。PHP中允许使用空字节,但在文件函数中会被忽略。在localhost中一切正常,与我在其他网站的其他服务器上使用的代码相同,它们工作正常,但问题仅限于此服务器。如果(isset($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\('oops,参数在那里,但为空');->您的重写规则有问题。请用返回值的调试代码替换代码。