.htaccess从URL替换问号和斜杠

时间:2016-09-23 03:39:19

标签: .htaccess mod-rewrite

我试图通过使用.htaccess

来做到这一点

重定向:http://example.com/en/signup?type=something

收件人:http://example.com/snapshots/en_signup_type=something.html

基本上,将所有斜杠和问号转换为下划线并附加.html

1 个答案:

答案 0 :(得分:0)

我发现了怎么做,实际上还有比我想象的更多的步骤。

  1. 使用下划线替换所有斜杠RewriteRule ^(.*)\/(.*)$ $1_$2 [R=301,L],根据我们的斜杠数量,它会重定向相同的次数,一次重定向会将一个斜线转换为一个下划线。
  2. http://example.com/en/signup?type=something - > http://example.com/en_signup?type=something

    1. 转换查询字符串(将问号更改为下划线)
    2. RewriteRule ^(.*)$ http://example.com/snapshots/$1_%{QUERY_STRING}.html? [P,L]

      .html之后的问号是为了防止再次追加查询字符串。