一些Apache环境常用的.htaccess伪静态规则范例

Stacey丶梦菡
Stacey丶梦菡
Stacey丶梦菡
订阅者
314
文章
0
评论
生活百科评论184字数 503阅读1分40秒阅读模式

为了实现网站的SEO优化,或者实现用户需求,会用到一些伪静态规则,下面整理了一些Apache服务器常用的 .htaccess 伪静态规则。

第一、强制www域名301跳转文章源自玩技e族-https://www.playezu.com/190227.html

RewriteEngine on文章源自玩技e族-https://www.playezu.com/190227.html

RewriteCond %{HTTP_HOST} ^w3h5.com [NC]文章源自玩技e族-https://www.playezu.com/190227.html

RewriteRule ^(.*)$ https://www.wendabaike.com/$1 [L,R=301,NC]文章源自玩技e族-https://www.playezu.com/190227.html

我们将域名替换成自己的域名即可实现非WWW跳转到WWW域名。文章源自玩技e族-https://www.playezu.com/190227.html

第二、强制非WWW域名301跳转文章源自玩技e族-https://www.playezu.com/190227.html

RewriteEngine On文章源自玩技e族-https://www.playezu.com/190227.html

RewriteCond %{HTTP_HOST} !^wendabaike.com$ [NC]文章源自玩技e族-https://www.playezu.com/190227.html

RewriteRule ^(.*)$ https//wendabaike.com/$1 [L,R=301]文章源自玩技e族-https://www.playezu.com/190227.html

这里我们可以强制如果访问www域名前缀,会跳转到非www域名。文章源自玩技e族-https://www.playezu.com/190227.html

第三、强制https跳转地址

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://www.wendabaike.com/$1 [R,L]

如果我们网站采用SSL证书,则一般需要强制跳转https路径,这里需要添加强制80端口的跳转。

第四、阻止无用的蜘蛛爬取

RewriteEngine On

RewriteCond %

{HTTP_USER_AGENT} (^$|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms) [NC]

RewriteRule ^(.*)$ - [F]

第五、强制/斜杠结尾路径

RewriteCond %{REQUEST_URI} /+[^.]+$

RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

第六、取消/斜杠结尾

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)/$ /$1 [R=301,L]

第七、将A页面301跳转到B页面

Redirect 301 /a.html https://www.wendabaike.com/b.html

第八、阻止某个IP访问

Order deny,allow

Allow from all

Deny from xxx.xxx.xxx.xxx

第九、禁止图片盗链

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(.+.)?wendabaike.com [NC]

RewriteRule .(jpg|jpeg|png|gif|bmp)$ - [NC,F,L]

第十、禁止被其他网页套用

SetEnvIf Request_URI "/starry-night" allow_framing=true

Header set X-Frame-Options SAMEORIGIN env=!allow_framing

第十一、全部重定向到B网站

RewriteEngine on

RewriteRule ^(.*)$ https//www.wendabaike.com/$1 [R=301,L]

第十二、目录斜杠(/)改为后面添加 .html

# https://www.wendabaike.com/tags/php/ 跳转到 https://www.wendabaike.com/tags/php.html

RewriteRule ^tags/(w*)/$ https://%{SERVER_NAME}/tags/$1.html

简单讲一下:

^date/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/$

这样前面每一个括号 (...) 内的规则,代表后面的一个 $ ,第一个括号对应 $1 ,第二个括号对应 $2 ,以此类推。

中国百科

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证