搜索

首页  >  问答  >  正文

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

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

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

RewriteEngine On
RewriteCond %{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//amp [L,R=302]

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

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

巴扎黑巴扎黑2714 天前1032

全部回复(1)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-06-28 09:29:47

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

    回复
    0
  • 取消回复