html - 如何为特定文件夹编写异常
问题描述
我的任务是修改 .htaccess 文件中对移动站点的重定向,以仅重定向主页。问题是主文件夹包含许多子文件夹,这些子文件夹是它们自己的页面,并且它们错误地重定向到主站点移动版本。
这是代码:
RewriteOptions inherit
<IfModule mod_expires.c>
ExpiresActive On
#ExpiresDefault "access plus 10 second"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
# Webfonts
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType font/eot "access plus 1 year"
ExpiresByType font/opentype "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/font-woff "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType font/woff "access plus 1 year"
ExpiresByType application/font-woff2 "access plus 1 year"
</IfModule>
<filesMatch ".(js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
#### MOBILE REDIRECTION START
RewriteBase /
# Check if m=1 is set and set cookie 'mobile' equal to 1
RewriteCond %{QUERY_STRING} (^|&)m=1(&|$)
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^ - [CO=mobile:1:%{HTTP_HOST}]
# Check if m=0 is set and set cookie 'mobile' equal to 0
RewriteCond %{QUERY_STRING} (^|&)m=0(&|$)
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^ - [CO=mobile:0:%{HTTP_HOST}]
# cookie can't be set and read in the same request so check
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$)
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^ - [S=1]
# Check if this looks like a mobile device
# Check if we're not already on the mobile site
# Check to make sure we haven't set the cookie before
# Now redirect to the mobile site
RewriteCond %{HTTP:x-wap-profile} !^$ [OR]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC,OR]
RewriteCond %{HTTP:Profile} !^$
RewriteCond %{HTTP_HOST} !^m\.
RewriteCond %{HTTP:Cookie} !\mobile=0(;|$)
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^ http://m.siteurl.com [R,L]
#### MOBILE REDIRECTION END
有人可以帮我在哪里以及如何放置除主要文件夹(站点)之外的文件夹(站点)的例外情况。
解决方案
感谢你的回答。我会再澄清一点。我在主机上创建了一个新站点,其中包含许多其他(更老的)站点。当我试图从我的手机进入该站点时,我意识到它被重定向到该“主站点”的移动站点。我查看了 public_html 文件夹并意识到很久以前有人在 public_html 文件夹中创建了一个站点,并在 .htaccess 中进行了重定向,然后其他人创建了许多与其他站点的子文件夹,包括我创建的站点的子文件夹和上传到他们的服务器。现在的问题是子文件夹中的那些站点被重定向到在主 public_html 文件夹中创建的站点的移动站点。
回答“旁白”部分——这不是我的网站,我相信这也是t. It is a very old site that needs a complete rehaul. Rewrite options inherit - that
我的问题。我m not sure, as I
不是创造者。这完全是一团糟,但现在我只需要解决重定向问题。
我希望能澄清一点。
编辑:似乎删除Rewrite options inherit
成功了。现在只有主站点被重定向到移动版本。
推荐阅读
- python - 如何从 python 连接到 docker selenium/hub
- java - Spring data Neo4j,关系实体映射问题
- laravel - Laravel 5.5 为每个页面自动加载一个函数,而不为每个控制器调用该函数
- r - /usr/bin/ld: 找不到 -lgfortran
- mysql - 我的sql中T的作用是什么
- java - OCR 无法从该图像中正确读取字符
- sql - 保存从数据库中检索数据的顺序
- c# - C# - 从 JSON 反序列化,结果总是一个空对象
- docker - 谷歌云容器注册表错误:“无法触发构建:请求包含无效参数。”
- python - python with pandas:选择具有多标题的列