- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要这个网址:
http://www.example.com/path/antyhing
RewriteCond %{REQUEST_URI} !^/path/.*$ [NC]
RewriteRule ^ http://m.example.com/ [R,L]
http://m.example.com/
RewriteBase /
RewriteEngine On
# Check if mobile=1 is set and set cookie 'mobile' equal to 1
RewriteCond %{QUERY_STRING} (^|&)mobile=1(&|$)
RewriteRule ^ - [CO=mobile:1:%{HTTP_HOST}]
# Check if mobile=0 is set and set cookie 'mobile' equal to 0
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$)
RewriteRule ^ - [CO=mobile:0:%{HTTP_HOST}]
# Skip next rule if mobile=0
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$)
RewriteRule ^ - [S=1]
# Check if this looks like a mobile device
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} !^$
# Check if we're not already on the mobile site
RewriteCond %{HTTP_HOST} !^m\.
# Check to make sure we haven't set the cookie before
RewriteCond %{HTTP:Cookie} !\mobile=0(;|$)
# Don't redirect "path" pages
RewriteCond %{REQUEST_URI} !^.+?/path/.*$ [NC]
# Now redirect to the mobile site
RewriteRule ^ http://m.example.com/ [R,L]
最佳答案
你能用这个替换你的最后一条规则吗:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
# Check if mobile=1 is set and set cookie 'mobile' equal to 1
RewriteCond %{QUERY_STRING} (^|&)mobile=1(&|$)
RewriteRule ^ - [CO=mobile:1:%{HTTP_HOST}]
# Check if mobile=0 is set and set cookie 'mobile' equal to 0
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$)
RewriteRule ^ - [CO=mobile:0:%{HTTP_HOST}]
# Skip next rule if mobile=0 [OR] if it's a file [OR] if /path/
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$) [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_URI} ^.*/path/.*$
RewriteRule ^ - [S=1]
# Check if this looks like a mobile device
RewriteCond %{HTTP_PROFILE} !^$ [OR]
RewriteCond %{HTTP_X_WAP_PROFILE} !^$ [OR]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
# Check if we're not already on the mobile site
RewriteCond %{HTTP_HOST} !^m\.
# Check to make sure we haven't set the cookie before
RewriteCond %{HTTP_COOKIE} !mobile=0(;|$)
# Don't redirect "path" pages
RewriteCond %{REQUEST_URI} !^.*/path/.*$ [NC]
# Now redirect to the mobile site
RewriteRule ^ http://m.example.com/ [R,L,NC]
%{REQUEST_URI}
出于我不明白的原因,它仅适用于
^.*/path/.*$
关于regex - RewriteCond 排除不工作的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18871314/
我目前在一个域上有一个网站,它有另一个域映射到它。我有一个 .htaccess RewriteCond,如下所示: RewriteCond %{HTTP_HOST} ^www\.additional-
我正在尝试对所有请求进行重写,除非 URL 指向: 现有文件 带有索引文件的目录 所以我有以下应该处理它: RewriteCond %{REQUEST_FILENAME} !-s RewriteCon
如果我去http://www.example.com我希望它留在那里,这工作正常。 如果我去http://bar.example.com它重定向到 http://www..com ,这是错误的 我想要
我有一个可能包含三个参数的 URL: ?category=计算机 &subcategory=笔记本电脑 &product=dell-inspiron-15 我需要 301 将此 URL 重定向到其友好
我想要这个网址: http://www.example.com/path/antyhing 不被重定向。 这是我所拥有的不起作用的东西: RewriteCond %{REQUEST_URI} !^/p
这么简单的问题,但htaccess和我一直相处不好。 提供文件(如果存在)。 如果 URI 只是/并且如果 index.html 存在,则提供 index.html 否则提供app.php 这是.ht
示例: RewriteCond %{REQUEST_URI}::$1 ^(.*?)/?(.*)::\2$ 看起来这个操作符在任何引用或手册中都找不到。我在哪里可以找到它,或者有人可以解释一下这个运算符
我有一个可以通过 3 个域(domain.com、domain.ch、domain.fr)访问的网站。不过,三者使用完全相同的文件和文件夹。 关于 .fr 域(以及仅此域),我需要以下内容: 将 do
我有一个 .htaccess 文件,它测试特定文件并运行 PHP 脚本(如果存在),如果不存在则重定向到另一个网站。 RewriteEngine on RewriteCond %{DOCUMENT_R
我想测试底部的两个规则是否存在文件,但它似乎只适用于第一个。第二条规则会错误地匹配我的/style.css 文件并显示 php 页面而不是 style.css。 在 [L] 标志之前,它不应该测试所有
我正在尝试将对子域的请求重定向到主域。即:xxx.domain.com/blah/xyz --> domain.com/blah/xyz 我的重写条件适用于 xxx.domain.com 但适用于 x
我有以下规则: RewriteCond %{QUERY_STRING} ^products=Product Name$ RewriteRule ^buyonline\.php$ http://www.
我的 .htaccess 文件中有以下内容: # Allow any files or directories that exist to be displayed directly RewriteC
我在 htaccess 中有以下 RewriteCond: #RewriteCond %{HTTP_HOST} ^xyzdomain.com$ 现在我想为 xyzdomain.com 中的字符串“do
我这里有三个条件,但我找不到真正的区别,因为它们做同样的工作: RewriteCond %{HTTPS} !=on RewriteCond %{HTTPS} =off RewriteCond %{HT
使用正确的 RewriteCond 正则表达式时遇到问题 RewriteCond %{REQUEST_URI} !^/foo/ 按预期工作,也就是说,不会将以下重写应用于所有以/foo/开头的 URL
我有以下代码,唯一似乎有效的重定向是第一个。我在其他重定向中收到 500 个错误。任何见解都非常感谢。 RewriteEngine on RewriteCond %{HTTP_HOST}
您好,我有一个奇怪的问题:我的任务是将 WP 页面 (page_id=2) 重定向到同一域上的页面 (about),但是当我使用字符串重定向时: RewriteEngine On RewriteCon
这是我的 .htaccess 文件: RewriteEngine On RewriteBase /projs/CodeIgniterTest RewriteCond %{REQUEST_URI} !^
我有以下一堆域: myDomain.de myDomain.com myDomain.co.za myDomain.org myDomain.com myDomain.com.na 在 htacces
我是一名优秀的程序员,十分优秀!