为了实现网站的SEO优化,或者实现用户需求,会用到一些伪静态规则,下面整理了一些Apache服务器常用的 .htaccess 伪静态规则。
第一、强制www域名301跳转
RewriteEngine on RewriteCond %{HTTP_HOST} ^w3h5/.com [NC] RewriteRule ^(.*)$ https://www.w3h5.com/\ [L,R=301,NC] 我们将域名替换成自己的域名即可实现非WWW跳转到WWW域名。
第二、强制非WWW域名301跳转
RewriteEngine On RewriteCond %{HTTP_HOST} !^w3h5.com$ [NC] RewriteRule ^(.*)$ https//w3h5.com/\ [L,R=301] 这里我们可以强制如果访问www域名前缀,会跳转到非www域名。
第三、强制https跳转地址
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.w3h5.com/\ [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 ^(.*)/$ /\ [R=301,L]
第七、将A页面301跳转到B页面
Redirect 301 /a.html https://www.w3h5.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)?://(.+/.)?w3h5.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.w3h5.com/\ [R=301,L]
第十二、目录斜杠(/)改为后面添加 .html
# https://www.w3h5.com/tags/php/ 跳转到 https://www.w3h5.com/tags/php.html RewriteRule ^tags/(/w*)/$ https://%{SERVER_NAME}/tags/\.html
简单讲一下:
^date/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/$
这样前面每一个括号 (...)
内的规则,代表后面的一个 $
,第一个括号对应 $1
,第二个括号对应 $2
,以此类推。
未经允许不得转载:w3h5 » 一些Apache环境常用的.htaccess伪静态规则范例
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/231281.html