Openlitespeed和litespeed 常用的伪静态Rewrite规则

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
請多多支持
点赞11
评论 抢沙发

    暂无评论内容