Apache mod_rewrite 实例

hawkhost

mod_rewrite 权限对于SEO来说是很重要的,Hostgator主机的PHP空间自然开放了mod_rewrite权限,这样一来你就可以设置你的网站的链接样式了!如果你需要支持mod_rewrite功能的PHP主机的话,比如你如果打算用wordpress建设你的网站的话,hostgator是个非常不错的选择!

hostgator wordpress

什么是 mod_rewrite 呢?

mod_rewrite是apache的一个功能模块,利用mod_rewrite可以实现网站的伪静态。比如用户访问你的域名,你可以利用mod_revwrite功能让用户访问另一个页面,而不是index.html。再比如你的网站是动态页面,访问时的URL是http://url.com/index?p=123,为了让搜索引擎更好地收录你的网站,你需要对你的URL进行伪静态处理,让URL显示为http://url.com/123.html。而实现的方法却很简单,只需要添加一些内容到你的.htaccess文件中即可。(这个文件一般位于服务器上的public_html目录下)。

mod_rewrite

应该怎么设置 mod_rewrite 呢?

下面给出一些实例:

#设置默认home.html为首页
DirectoryIndex home.html

#只允许特定IP访问你的网站
deny from all
allow from 64.95.219.140
allow from 210.23.45.67

# 不使用带www的域名
# 把下面例子中的'example.com' 换成你自己的域名
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.(([a-z0-9_]+.)?example.com)$ [NC]
RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]

# 使用带www的域名
# 把下面例子中的'example.com' 换成你自己的域名
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example.com$ [NC]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L]

# 使用网站根目录下的一个文件夹作为默认首页位置, (这个文件夹要确实存在)
# 把下面的 'folder' 换成你自己的文件夹名称

RewriteEngine On
RewriteRule ^$ /folder/ [R=301,L]

# 给文件夹改名并让访客访问旧内容时自动跳转到新的文件夹
# 把下面的'old'换成你的要替换的文件夹
# 把下面的'new'换成现在的文件夹
RewriteEngine on
RewriteRule ^/?old([a-z/.]*)$ /new$1 [R=301,L]

# 使用https对网站进行加密访问
# 把下面的 'www.example.com' 换成你的域名
# (你的域名要已经开通了SSL才行)
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# 禁止多个特定网址过来的流量
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} badsite.com [NC,OR]
RewriteCond %{HTTP_REFERER} badforum.com [NC,OR]
RewriteCond %{HTTP_REFERER} badsearchengine.com[NC]
RewriteRule .* - [F]

hawkhost
vps

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: