Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法强迫Apache重写*而不*尝试处理子目录.htaccess文件?_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

有没有办法强迫Apache重写*而不*尝试处理子目录.htaccess文件?

有没有办法强迫Apache重写*而不*尝试处理子目录.htaccess文件?,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,当子目录路径不可访问时,Apache mod_rewrite不起作用。我的重写规则将对/shared media的请求重定向到domain.s3.amazonaws.com/shared-media,但由于共享媒体/目录实际上存在于我的服务器上,并且Apache认为它不可访问,因此它无法读取sub directory.htaccess文件,因此发送404 有没有一种方法可以在不处理子目录.htaccess文件的情况下强制Apache重写? 以下是我的基本目录结构: /var/www/html &

当子目录路径不可访问时,Apache mod_rewrite不起作用。我的重写规则将对/shared media的请求重定向到domain.s3.amazonaws.com/shared-media,但由于共享媒体/目录实际上存在于我的服务器上,并且Apache认为它不可访问,因此它无法读取sub directory.htaccess文件,因此发送404

有没有一种方法可以在不处理子目录.htaccess文件的情况下强制Apache重写?

以下是我的基本目录结构:

/var/www/html <--- Document Root
  .htaccess
  index.php
  shared-media/  <--- Mount s3 bucket using s3fs
    IMG1.jpg
    IMG2.jpg
    thumbs/
      thumb1.jpg
      thumb2.jpg
我的PHP上传脚本仍然可以工作,因为它可以将图像保存到共享媒体/目录和共享媒体/拇指/目录。实际上,作为ec2用户,文件系统仍然可以正常工作。但是Apache没有尝试将
cd
放入目录,它显然进行了权限检查,并且由于权限很奇怪,它认为它无法进入目录。一旦确定,它将发送404

以下是响应代码:

wget http://domain/shared-media/thumbs/thumb1.jpg
--2014-10-11 07:58:17--  http://domain/shared-media/thumbs/thumb1.jpg
Resolving domain ... 5.12.2.15
Connecting to domain|5.12.2.15|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2014-10-11 07:58:18 ERROR 403: Forbidden.
下面是HTML错误消息:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /shared-media/thumbs/thumb1.jpg
on this server.<br />
Server unable to read htaccess file, denying access to be safe</p>
</body></html>

403禁止
被禁止的
您没有访问/shared media/thumbs/thumb1.jpg的权限
在此服务器上。
服务器无法读取htaccess文件,拒绝访问以确保安全

有没有一种方法可以让root.htaccess在不处理sub-directory.htaccess文件的情况下立即重写?

我的root.htaccess:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^shared-media/(.*)$ http://www.domain.s3.amazonaws.com/shared-media/$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

选项+FollowSymLinks
重新启动发动机
重写基/
重写规则^shared media/(.*)$http://www.domain.s3.amazonaws.com/shared-media/$1[R=301,L]
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
版本信息:

# cat /etc/issue
Amazon Linux AMI release 2014.03
Kernel \r on an \m

# uname -a
Linux ip-10-0-1-142 3.10.35-43.137.amzn1.x86_64 #1 SMP Wed Apr 2 09:36:59 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

# httpd -v
Server version: Apache/2.4.10 (Amazon)
Server built:   Jul 30 2014 23:57:26

# s3fs --version
Amazon Simple Storage Service File System V1.78 with OpenSSL
Copyright (C) 2010 Randy Rizun <rrizun@gmail.com>
License GPL2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.     

# pkg-config --modversion fuse
2.9.3
#cat/etc/issue
亚马逊Linux AMI发布版2014.03
内核\r位于\m
#联阿援助团
Linux ip-10-0-1-142 3.10.35-43.137.amzn1.x86#u 64#1 SMP周三4月2日09:36:59 UTC 2014 x86_64 x86_64 GNU/Linux
#httpd-v
服务器版本:Apache/2.4.10(Amazon)
服务器构建时间:2014年7月30日23:57:26
#s3fs——版本
带有OpenSSL的Amazon简单存储服务文件系统V1.78
版权所有(C)2010 Randy Rizun
许可证GPL2:GNU GPL版本2
这是自由软件:您可以自由更改和重新发布它。
在法律允许的范围内,不存在任何担保。
#pkg config--modversion保险丝
2.9.3

我认为所有基本信息都在这个问题中。遗憾的是,我缺乏回答这个问题的知识。
# cat /etc/issue
Amazon Linux AMI release 2014.03
Kernel \r on an \m

# uname -a
Linux ip-10-0-1-142 3.10.35-43.137.amzn1.x86_64 #1 SMP Wed Apr 2 09:36:59 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

# httpd -v
Server version: Apache/2.4.10 (Amazon)
Server built:   Jul 30 2014 23:57:26

# s3fs --version
Amazon Simple Storage Service File System V1.78 with OpenSSL
Copyright (C) 2010 Randy Rizun <rrizun@gmail.com>
License GPL2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.     

# pkg-config --modversion fuse
2.9.3