2

如何?使用查询字符串从 URL 中删除符号

4

1 回答 1

3
RewriteEngine On

# This is to physically change what's in the browser's address bar using a client redirect
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?([^\ ]+)
RewriteRule ^$ /%1? [R=301,L]

# This is to internally rewrite on the server side
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/?(.+)$ /?$1 [L]

另外请你解释一下[A-Z]{3,9}\ and ([^\ ]+)它本身是什么意思?我在哪里可以阅读有关构建此类结构的信息?

该正则表达式用于匹配HTTP Request,第一行将如下所示:

GET /path/to/file HTTP/1.1

第一个词是METHOD,长度可以在 3 到 9 个字符之间(因此{3,9},第二个词是请求的更改URI。这是通过重写引擎的内容,但在对其进行任何路径处理之前. 最后一位是协议版本,有些可选,决定之后是否会有headers。

于 2012-08-08T22:55:43.740 回答