WordPress规则:
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^/index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
比如你的WP在/wordpress子目录下,那么 .htaccess内的伪静态为:
RewriteEngine On RewriteBase /wordpress RewriteRule ^/index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
重定向到HTTPS:
RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.your-domain.com/$1 [R,L]
将www重定向到HTTPS:
RewriteCond %{HTTP_HOST} ^www\.your-domain\.com RewriteRule (.*) https://your-domain.com/$1 [R=301,L]
Drupal 8:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^/ index.php [L]
Laravel:
RewriteRule . /laravel/public/index.php [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f
Opencart 2.3.0.2的伪静态规则
RewriteRule ^/.*\.(log|ini|tpl|txt)$ - [F,L,NC] RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L] RewriteRule ^system/download/(.*) index.php?route=error/not_found [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteRule ^/([^?]*) index.php?_route_=$1 [L,QSA]
对比一下OC2.3.0.2的原始规则,在最后一行你会发现 多了一个斜杆。。。
其中第一行的RewriteRule ^/.*\.(log|ini|tpl|txt)$ - [F,L,NC]规则解释为:直接返回403,禁止访问任何后缀为log,ini,tpl和txt的文件。
其他规则参考
openlitespeed隐藏文件扩展名
通过重写规则隐藏 URL 中的文件扩展名,使 URL 看起来更简洁美观
rewrite { enable 1 regex ^(.+).html$ to $1 }
URL 重定向
将旧的 URL 重定向到新的 URL,可用于 SEO (搜索引擎优化) 或更改网站结构时的页面导航。
rewrite { enable 1 from /old-url to /new-url type 301 }
强制 HTTPS
强制所有访问网站的请求使用 HTTPS 协议,确保数据传输的安全性。
rewrite { enable 1 https on }
移除尾部斜杠
移除 URL 尾部的斜杠,统一资源的访问方式,并避免搜索引擎将带斜杠和不带斜杠的 URL 视为两个不同的页面。
rewrite { enable 1 regex ^(.+)/$ to $1 }
缓存控制
定义静态资源的缓存策略,以减少对服务器的请求,提高网站性能。
rewrite { enable 1 cache-control max-age=86400 types image/jpeg,image/png,text/css,application/javascript }
请求重写
将用户请求的 URL 重写为实际处理的文件路径或参数格式
rewrite { enable 1 from /product/(d+) to /index.php?id=$1 }
阻止目录列表
禁止服务器显示目录列表,以提高网站的安全性和隐私保护。
rewrite { enable 1 regex ^(.*)/$ to error404.html }
网页压缩
对静态文本资源(如 HTML、CSS、JavaScript)进行压缩,减小文件大小,提高页面加载速度
rewrite { enable 1 type text/html,text/css,application/javascript gzip-level 9 }
防盗链
限制只允许特定来源或域名访问某些资源,防止其他网站直接引用自己网站的图片或文件。
RewriteEngine On RewriteCond %{HTTP_REFERER} !^https://(www.)?xcbtmw.com [NC] RewriteRule .(jpg|jpeg|png|gif|webp|js|css)$ - [NC,F]
拒绝访问敏感文件
禁止直接访问网站中的敏感文件,例如配置文件、日志文件等。
rewrite { enable 1 from /(config|logs)/.*$ to error403.html }
图片webp转化适用改写
# BEGIN Images to WebP <IfModule mod_mime.c> AddType image/webp .webp </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_ACCEPT} image/webp RewriteCond %{REQUEST_FILENAME} "/" RewriteCond %{REQUEST_FILENAME} ".(jpg|jpeg|gif|png)$" RewriteCond %{REQUEST_FILENAME}.webp -f RewriteCond %{QUERY_STRING} !no_webp RewriteRule ^(.+)$ $1.webp [NC,T=image/webp,E=webp,L] </IfModule> # END Images to WebP
又或者是
<IfModule mod_headers.c> # Check if browser support WebP images # 检查浏览器是否支持 WebP 图片 RewriteCond %{HTTP_ACCEPT} image/webp RewriteCond %{HTTP_ACCEPT} image/webp # Check if WebP replacement image exists # 检查是否存在 WebP 替换镜像 RewriteCond %{DOCUMENT_ROOT}/$1.webp -f RewriteCond %{DOCUMENT_ROOT}/$1.webp -f # Serve WebP image instead # 改为提供 WebP 图像 RewriteRule (.+).(jpe?g)$ $1.webp [T=image/webp,E=accept:1] 重写规则 (.+).(jpe?g)$ $1.webp [T=image/webp,E=accept:1] </IfModule> # END Images to WebP
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容