正则表达式 - apache .htaccess 网址 redirect 正则表示法

【字号: 日期:2022-06-20浏览:28作者:雯心

问题描述

我想将所有的手机流量都导向至原访问URL/amp上例如:当手机访问 http://example.com 时 导向至 http://example.com/amp当手机访问 http://example.com/123 导向至 http://example.com/123/amp

我需要透过apache伺服器做这项动作,所以我使用.htaccess做redirect底下这段.htaccess的设定可以帮我做到把

RewriteEngine OnRewriteCond %{REQUEST_URI} !/amp$ [NC]RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot-mobile|iemobile|iphone|ipod|#opera mobile|palmos|webos) [NC]RewriteRule ^([a-zA-Z0-9-]+)([/]*)$ http://7abbd517.ngrok.io/$1/amp [L,R=302]

http://example.com/123 导向至 http://example.com/123/amp但是没办法帮我达成首页的redirect也就是说「X」 http://example.com 无法至 http://example.com/amp

请问该怎麽改写才能达到我最初的目标呢?

问题解答

回答1:

由于[a-zA-Z0-9-]后面的加号表示至少匹配1个元素,所以由于http://example.com无法匹配一个元素,+改成*即可,另外,[/]外面的中括号没必要写。

相关文章: