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
.htaccess 重定向到https时排除某些目录_.htaccess_Mod Rewrite_Amazon Ec2 - Fatal编程技术网

.htaccess 重定向到https时排除某些目录

.htaccess 重定向到https时排除某些目录,.htaccess,mod-rewrite,amazon-ec2,.htaccess,Mod Rewrite,Amazon Ec2,我使用.htaccess RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 我需要重定向网站中的每个页面,以通过https协议加载,但某些目录除外。我试过用这个规则 RewriteRule^不要在https文件夹下加载/-[L,NC] 但是,它仍然应用于https文件夹下的不加载 这是我的全部访问代码 IndexIgnore * Options +FollowSymLinks -Multi

我使用
.htaccess

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
我需要重定向网站中的每个页面,以通过
https
协议加载,但某些目录除外。我试过用这个规则

RewriteRule^不要在https文件夹下加载/-[L,NC]

但是,它仍然应用于https文件夹下的
不加载

这是我的全部访问代码

IndexIgnore *

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{HTTP_HOST} ^52\.76\.80\.144$
RewriteRule ^(.*)$ https://mywebsite.com/$1 [L,R=301]

RewriteRule ^http://52.76.80.144//(.*)$ /$1 [R=301,NC,L]

## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]
RewriteRule ^detector/ - [L,NC]

RewriteRule ^admin/ - [L,NC]
RewriteRule ^b2b/ - [L,NC]
RewriteRule ^blog/ - [L,NC]
RewriteRule ^config/ - [L,NC]
RewriteRule ^hub/ - [L,NC]

# To remove www header
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{THE_REQUEST} /(\w+)\.php\?param=([^\s&]+) [NC]
RewriteRule ^ %1/%2? [R=301,L,NE]


## hide .php extension snippet

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,NE,L]

# handle ?param=...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
RewriteRule ^(.+)/([\w-]+)/?$ $1.php?param=$2 [L,QSA]



# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
RewriteRule ^ending/thankyou(.*?)/?$ $1.php [L]

RewriteCond %{THE_REQUEST} /main\.html[\s?] [NC]
RewriteRule ^main\.html$ / [L,R=301,NC]

RewriteRule ^/?$ main.html [L]


# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certain file types by extension:
<files *.html>
SetOutputFilter DEFLATE
</files>

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</IfModule>


<IfModule mod_headers.c>
    # WEEK
    <FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
        Header set Cache-Control "max-age=604800, public"
    </FilesMatch>

    # WEEK
    <FilesMatch "\.(js|css|swf)$">
        Header set Cache-Control "max-age=604800"
    </FilesMatch>
</IfModule>

<IfModule mod_deflate.c>
  SetOutputFilter DEFLATE
  SetEnvIfNoCase Request_URI \
  \.(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>

<IfModule mod_expires.c>
AddType font/ttf .ttf
AddType font/otf .otf
AddType font/x-woff .woff
AddType image/svg+xml .svg
AddType application/vnd.ms-fontobject .eot

  ExpiresActive on
  ExpiresByType image/jpg "access 2 month"
  ExpiresByType image/gif "access 2 month"
  ExpiresByType image/jpeg "access 2 month"
  ExpiresByType image/png "access 2 month"
  ExpiresByType text/css "access 2 month"
  ExpiresByType application/x-javascript "access plus 2 month"
  ExpiresByType text/javascript "access plus 2 month"
  ExpiresByType application/javascript "access plus 2 month"
  ExpiresByType image/x-icon "access plus 12 month"
  ExpiresByType image/icon "access plus 12 month"
  ExpiresByType application/x-ico "access plus 12 month"
  ExpiresByType application/ico "access plus 12 month"

ExpiresByType font/ttf "access plus 12 month"
ExpiresByType font/otf "access plus 12 month"
ExpiresByType application/vnd.ms-fontobject "access plus 12 month"
ExpiresByType font/x-woff "access plus 12 month"
ExpiresByType image/svg+xml "access plus 12 month"
</IfModule>
IndexIgnore*
选项+以下符号链接-多视图
#打开mod_rewrite
重新启动发动机
重写条件%{HTTPS}关闭
重写规则(*)https://%{HTTP\u HOST}%{REQUEST\u URI}
重写cond%{HTTP_HOST}^52\.76\.80\.144$
重写规则^(.*)$https://mywebsite.com/$1[L,R=301]
重写规则^http://52.76.80.144//(.*)$/$1[R=301,北卡罗来纳州,北卡罗来纳州]
##请勿触摸/论坛URI
重写规则^forums/-[L,NC]
重写规则^detector/-[L,NC]
重写规则^admin/-[L,NC]
重写规则^b2b/-[L,NC]
重写规则^blog/-[L,NC]
重写规则^config/-[L,NC]
重写规则^hub/-[L,NC]
#删除www标头的步骤
重写cond%{HTTP_HOST}^www\.(.+)$[NC]
重写规则^http://%1%{REQUEST_URI}[L,R=301,NE]
RewriteCond%{THE_REQUEST}/(\w+)\.php\?param=([^\s&]+)[NC]
是否重写规则^1/%2?[R=301,L,NE]
##php扩展代码段
#从外部将/dir/foo.php重定向到/dir/foo
重写cond%{THE_REQUEST}^[A-Z]{3,}\s([^.]+)\.php[NC]
重写规则^%1[R=301,NE,L]
#句柄?参数=。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{DOCUMENT_ROOT}/$1\.php-f
重写规则^(+)/([\w-]+)/?$$1.php?参数=$2[L,QSA]
#在内部将/dir/foo转发到/dir/foo.php
重写cond%{REQUEST_FILENAME}-D
RewriteCond%{REQUEST_FILENAME}.php-f
重写规则^(.*)/?$$1.php[L]
重写规则^ending/thankyou(.*?/$$1.php[L]
重写cond%{THE_REQUEST}/main\.html[\s?][NC]
重写规则^main\.html$/[L,R=301,NC]
重写规则^/?$main.html[L]
#压缩文本、html、javascript、css、xml:
AddOutputFilterByType泄气文本/普通
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE应用程序/xml
AddOutputFilterByType DEFLATE应用程序/xhtml+xml
AddOutputFilterByType DEFLATE应用程序/rss+xml
AddOutputFilterByType DEFLATE应用程序/javascript
AddOutputFilterByType DEFLATE应用程序/x-javascript
#或者,按扩展名压缩某些文件类型:
SetOutputFilter放气
AddOutputFilterByType泄气文本/普通
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE应用程序/xml
AddOutputFilterByType DEFLATE应用程序/xhtml+xml
AddOutputFilterByType DEFLATE应用程序/rss+xml
AddOutputFilterByType DEFLATE应用程序/javascript
AddOutputFilterByType DEFLATE应用程序/x-javascript
AddOutputFilterByType DEFLATE应用程序/vnd.ms-fontobject
AddOutputFilterByType DEFLATE字体/ttf
AddOutputFilterByType DEFLATE字体/otf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE应用程序/vnd.ms-fontobject
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
#周
标题集缓存控制“最大年龄=604800,公共”
#周
标题集缓存控制“最大年龄=604800”
SetOutputFilter放气
setEnvifLocase请求\u URI\
\(?:gif | jpe | g | png)$无gzip不变
AddType字体/ttf.ttf
AddType字体/otf.otf
AddType font/x-woff.woff
AddType image/svg+xml.svg
AddType应用程序/vnd.ms-fontobject.eot
过期于
ExpiresByType图像/jpg“访问2个月”
ExpiresByType image/gif“访问2个月”
过期按类型图像/jpeg“访问2个月”
ExpiresByType图像/png“访问2个月”
ExpiresByType文本/css“访问2个月”
ExpiresByType应用程序/x-javascript“访问加2个月”
ExpiresByType文本/javascript“访问加2个月”
ExpiresByType应用程序/javascript“访问加2个月”
ExpiresByType图像/x图标“访问加12个月”
ExpiresByType图像/图标“访问加12个月”
过期按类型应用程序/x-ico“访问加12个月”
过期按类型应用程序/ico“访问加12个月”
ExpiresByType字体/ttf“访问加12个月”
ExpiresByType字体/otf“访问加12个月”
ExpiresByType应用程序/vnd.ms-fontobject“访问加12个月”
ExpiresByType字体/x-woff“访问加12个月”
ExpiresByType图像/svg+xml“访问加12个月”

这将强制所有内容使用
HTTPs
,但括号内指定的目录除外:

RewriteEngine On

#Force everything to HTTPs
RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R=301]

#Checks if HTTPs is on for foobar & foobar2, if it is, turn it off
RewriteCond %{HTTP:X-Forwarded-SSL} =on
RewriteCond %{REQUEST_URI} !^\/(foobar|foobar2)
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=301]

您可以向其中添加任意数量的目录,只需使用
将它们分开即可。将
foobar
foobar2
等替换为您希望排除的目录。

从您的问题中不清楚问题究竟出在哪里。请把你的全部信件寄出去htaccess@starkeen检查我的htaccess代码您的规则顺序不正确。在https重定向规则之前放置“请勿触碰dirs规则”。@starkeen完全正确!谢谢你的批改