如何?
使用查询字符串从 URL 中删除符号
问问题
3306 次
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 回答