htaccess RedirectMatch弄乱了具有相同匹配的子目录

时间:2018-01-01 00:12:56

标签: apache .htaccess redirect mod-rewrite

使用

RedirectMatch 301 /m/(..*) http://example.com/$1

http://sub.site.com/m/link重定向到http://example.com/link

认为在尝试从http://example.com/data/avatars/m/0/2.jpg?1599539541

加载缩略图之前它工作得很好

它将其更改为http://example.com/m/0/2.jpg?1599539541,但不会执行

花了几个小时谷歌搜索和玩htaccess重定向和RewriteRule 根本不起作用

RewriteEngine on
RewriteCond %{HTTP_HOST} /m/. [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L]

我已经把头发拉了几天,可能会让附近的其他几个人感到恼火......

1 个答案:

答案 0 :(得分:0)

你的RedirectMatch directive正则表达式并不好。您应该将正则表达式更改为^/m/(.+),表示仅在起始位置匹配/m/{any_characters}

RedirectMatch 301 ^/m/(.+) http://example.com/$1