.htaccess文件RewriteRule语法规则
.htaccess文件中的RewriteRule语法规则用于重写URL,格式以下:
```
RewriteRule pattern target [flags]
```
其中,pattern表示匹配的URL模式,target表示要重写的目标URL,flags表示标志位,用于指定重写规则的行动。
pattern可以是一个简单的字符串,也能够是一个正则表达式,用于匹配URL。
target可以是一个简单的URL,也能够是一个带有变量的URL,可使用正则表达式中的捕获组来援用pattern中匹配的部份。
flags是可选的参数,用于指定重写规则的行动。经常使用的flags包括:
- NC:不辨别大小写匹配
- L:停止解析其他的规则
- R:强迫重定向,将URL改写为target指定的URL
- F:制止访问,返回403 Forbidden毛病
- G:强迫在URL中添加"GET"参数
- QSA:在重写后的URL中保存查询字符串
例如,下面的规则将所有以"/page"开头的URL重写为"/index.php?page="加上实际的页面名称,并在URL中保存查询字符串:
```
RewriteRule ^page/(.*)$ /index.php?page=$1 [QSA,L]
```
这样,当用户访问"/page/about"时,实际要求的URL将是"/index.php?page=about"。
TOP