| 指令 | 语法 |
|---|
RewriteEngine | RewriteEngine On|Off |
RewriteBase | RewriteBase /path/ |
RewriteCond | RewriteCond TestString Pattern [flags] |
RewriteRule | RewriteRule Pattern Substitution [flags] |
RewriteOptions | RewriteOptions inherit|IgnoreInherit |
RewriteMap | RewriteMap name txt|rnd|int:/path |
%{REQUEST_URI}, %{REQUEST_FILENAME}, %{QUERY_STRING}, %{HTTP_HOST}, %{HTTPS}, %{REMOTE_ADDR}, %{REQUEST_METHOD}, %{HTTP_USER_AGENT}, %{HTTP_REFERER}
| 标志 | 说明 |
|---|
[NC] | 不区分大小写匹配 |
[OR] | 与下一个条件使用 OR 组合(默认为 AND) |
| 标志 | 说明 |
|---|
[L] | 最后一条规则——停止处理 |
[R=301] | 带状态码的外部重定向 |
[QSA] | 追加查询字符串 |
[F] | 禁止访问 (403) |
[G] | 已删除 (410) |
[NE] | 不转义——不编码特殊字符 |
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]