.htaccess 通过ht访问文件重定向工作不正常
以下是场景: 有一个名为“example.com”的网站和一个名为“mobile”的文件夹,用于通过手机或标签访问网站 如果用户在浏览器中仅键入“example.com”,则应将其重定向到正在按照.htaccess中的以下代码工作的位置:.htaccess 通过ht访问文件重定向工作不正常,.htaccess,redirect,.htaccess,Redirect,以下是场景: 有一个名为“example.com”的网站和一个名为“mobile”的文件夹,用于通过手机或标签访问网站 如果用户在浏览器中仅键入“example.com”,则应将其重定向到正在按照.htaccess中的以下代码工作的位置: RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule ^/?$ "https\:\/\/www\.example\.com" [R=301,L] 或者,如果用户正在从移动设备访问url,则应将其重定向到 现在
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^/?$ "https\:\/\/www\.example\.com" [R=301,L]
或者,如果用户正在从移动设备访问url,则应将其重定向到
现在,每当我从手机访问url时
它将浏览器重定向到,但再次按照.htaccess中的代码,它考虑url“example.com”的这一特定部分,并将浏览器重定向回,这样最终导致无限循环生成错误:
“获取页面超出了最多10个重定向。”
我尝试在.htaccess文件中放入类似的内容,以便在前缀为“mobile”的情况下不重定向到,但它不起作用
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^mobile/ - [L]
RewriteRule ^/?$ "https\:\/\/www\.example\.com" [R=301,L]
请告知
这就是.htaccess文件的构造方式
RewriteEngine on
RewriteRule ^mobile - [L]
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^/?$ "https\:\/\/www\.example\.com" [R=301,L]
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{www.example.com}/$1 [R,L]
##DISABLE VIEWING DIRECTORIES##
Options -Indexes
##DISABLE VIEWING DIRECTORIES##
##DISABLE VIEWING DIRECTORIES FILES##
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example.com/.*$ [NC]
RewriteRule .*\.(png|gif)$ - [F,NC]
##DISABLE VIEWING DIRECTORIES FILES##
##DISABLE VIEWING admin DIRECTORY FILES##
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example.com/.*$ [NC]
RewriteRule ^admin/.+\.php$ - [F,L]
##DISABLE VIEWING admin DIRECTORY FILES##
header.php中的重定向代码
<script type="text/javascript">
if (screen.width <= 699) {
document.location = "https://mobile.example.com";
}
</script>
如果(screen.width您没有正确使用RewriteCond。如果您想在uri为/mobile/时跳过url重写,并将example.com重定向到,您可以使用以下方法
#Skip url rewriting if requested uri is /mobile
RewriteRule ^mobile - [L]
#redirect example.com/ to http://www.example.com/
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^/?$ https://www.example.com/ [L,R]
/不是mod rewrite中的特殊字符,您不需要转义它。RewriteRule^mobile-[L]RewriteCond%{HTTP\u HOST}^example\.com$RewriteRule^/?$“https\:\/\/www\.example\.com”R=301,L]但它不工作重定向仍然存在,我怎么了doing@team清除浏览器缓存所有操作都已完成…但仍存在相同问题..我已编辑了我的问题并添加了完整的.htaccess文件,因为我不确定在哪里我所做的是错误的吗?有进一步的建议吗?您编辑的htaccess在我的服务器上按预期工作。您能清楚地解释您的问题吗?