Board logo

标题: .htaccess文件使用教程[转贴] [打印本页]

作者: adicom     时间: 2007-11-16 02:40 PM     标题: .htaccess文件使用教程[转贴]

PS:全文系转帖
4l{ytI#D-K SRg
og-T7?{aN4V1.1 什么是.htaccess文件
r4|P&X-a6f梦游时光互联从本指南中,你将可以学习到有关.htaccess文件及其功能的知识,并用以优化你的网站。尽管.htaccess只是一个文件,但它可以更改服务器的设置,允许你做许多不同的事情,最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于使用,归根结底,它只是在一个text文档中添加几条简单的指令而已。
v%Boe?:mO#Uweb.meyu.net
%UQp E*{]tQanweb.meyu.net首先你要判断主机支持它m9c/@f5bb\5L8}4J

qfDQLo@sB_梦游时光互联这可能很难用简单的答案来回答。许多主机支持.htaccess,但实际上并不会特别声明,许多其他类型的主机有能力但并不允许他们的用户使用. htaccess。一般来说,如果你的主机使用Unix或Linux系统,或任何版本的Apache网络服务器,从理论上都是支持.htaccess的,尽管你的主机服务商可能不允许你使用它。web.meyu.net7w?uz
U ^x

+s:m/d*I#ju
判断你的主机是否允许.htaccess,一个标志很好的是它是否支持文件夹密码保护。为达到此功能,主机服务商需要使用.htaccess(当然,少数情况下他们虽提供密码保护功能,但却并不允许你使用.htaccess)。如果你不确定自己的主机是否支持.htaccess,最好的办法是上传你自己的.htaccess文件看看是否有用,或者直接发送e-mail向你的主机服务商咨询。梦游时光互联z
Xi)xS1J


\D4hPc]Apache系统中的.htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
*W8P&F0i
@
梦游时光互联1^l
G
N Y

子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。
S6M[-Nm*R@tZ(p?z-U
od`
{

.htaccess必须以ASCII模式上传,最好将其权限设置为644。qz8PE3t3p

y!H2O
o
@m
.htaccess可以做大量的事情,包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件。梦游时光互联L\
^:]:^@ Si|N


4JF?,Lt$Gs/DF$|:GX-h7Dn5n:Xt Ui
1.2 如何创建.httaccess文件 7_\(uv0x"su
创建.htaccess文件也许会给你带来一些困难。写文件很容易,你只需要在文字编缉器(例如:写字板)里写下适当的代码。真正困难的可能是文件的保存,因为.htaccess是一个古怪的文件名(它事实上没有文件名,只有一个由8个字母组成的扩展名),而在一些系统(如windows 3.1)中无法接受这样的文件名。在大多数的操作系统中,你需要做的是将文档保存成名为:“.htaccess” (包括引号)。如果这也不行,你需要将其先命名为其它名字(例如htaccess.txt),再将其上传到服务器上,之后直接使用FTP软件来重命名。web.meyu.net9w`3wAJSl.O

uV%c!WUX3t警告 梦游时光互联gHq+l,r        B

iYXg\FER;Q&zw在使用.htaccess之前,我必须给你一些警告。虽然在服务器上使用.htaccess绝对不太可能给你带来任何麻烦(如果有些东西错了,它只是没效用罢了),但如果你使用Microsoft FrontPage Extensions,就必须特别小心。因为FrontPage Extensions本身使用了.htaccess,因此你不能编辑它并加入你自己的信息。如果确实有这方面的需要(并不推荐,但是可能),你应该先从服务器上下载.htaccess文档(如果存在),之后在前面加上你的代码。
4E
]cTzweb.meyu.net
梦游时光互联)g7o^"Tj7I XV~ m$R
2|.httacces文件的配置 y9f8c0s6n#o7F&Pq

EOmUX!Hl梦游时光互联梦游时光互联)X:k$d+a/HQ&t+Q
2.1.配置.htaccess 自定义错误页
Z#CB}pj

我要介绍的.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。
1h!q!h3z.S!{'W
N9J$| wO&u

你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:c"q4`P2J;|q
-_w5M`"r;U:P0`,t
           ErrorDocument errornumber /file.html
        X1t+ne1mKQgj
?H"`7Gz[l3RE8^举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面:web.meyu.net`)gx7hDv

*j/\
xN3cy,^
           ErrorDocument 404 /notfound.html
VbA'@9Y        D梦游时光互联
        RKY0]9Nb}如果文件不在网站的根目录下,你只需要把路径设置为:web.meyu.net-e8Oa7T
I'u4[


        XnZ)l0Sm4{           ErrorDocument 500 /errorpages/500.htmlv4n2y }0aN:J


u5Q
e*nS.Wr梦游时光互联
以下是一些最常用的错误:_ y,j;S)~#rG
;_nve7g/l
BdR4H(c

常用的客户端请求错误返回代码:
h#b%TR]kgf[PKQ B ^
400 - Bad request 错误请求
"V-E'|nFX3hRweb.meyu.net401 Authorization Required需要验证
!@$uY HT3T.W"hd403 Forbidden禁止 E1U,Jn#R
404 Not Found找不到页面
L+[
CiIE }
405 Method Not Allowed
o,I} sR408 Request Timed Out
]/J"S~/Qm#p2]1Ym411 Content Length RequiredEc,V0\\wZ Q\
412 Precondition Failed#X&NCj[7c _
413 Request Entity Too Longweb.meyu.netBg-Ti/sV5Fp_!T2k
414 Request URI Too Long"a]$cM)[ L/X!l
415 Unsupported Media Type%D_@qU ?!\;R e
yTP {g#u
\I

常见的服务器错误返回代码:web.meyu.net%uW,LI5B0h7H-o

G;jO5s2l"v(h           500 Internal Server Error内部服务器错误
6X+\f_{H-{
7e-yl3g/RNJ+|9w接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们和.htaccess一起上传。梦游时光互联VBY8bLeho"n
M5F2{(SI|3l$m5v]@:T
用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再.htaccess中,加入如下的指令:
UJ9D'Ch&U%W7X `


.Ub1D#iSx$Qw&J           ErrorDocument 404 /errors/notfound.html
k3Y @#bf           ErrorDocument 500 /errors/internalerror.html
        c*n&]KX]0Rweb.meyu.net!y
iaF6V9]U

一条指令一行。上述第一条指令的意思是对于404,也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为::V!^yV[

:d\        ^*g"Ok梦游时光互联           ErrorDocument 错误代码 /目录名/文件名.扩展名
1x
]
`|AO5cj1rweb.meyu.net
"L|/}sYP:T
如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML号了,例如下面这个例子:
        M8x
M8V{

ylO(}3@G|c+kU           ErrorDocument 401 “你没有权限访问该页面,请放弃!”web.meyu.net3rA&[5S/X?6qc
*hW/iu&C%D1I l/G/`

/h7DO8O{p%RHweb.meyu.net2.2.配置.htaccess 停示显示目录列表
$XK}%W]2wE梦游时光互联有些时候,由于某种原因,你的目录里没有index文件,这意味着当有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。8Myj*Z8q7D4G

$i4t9~2x$E
VX
为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess文档中键入以下命令,用以阻止目录列表的显示: Options -Indexes $O
qB,Xy3G'?        f1X


Qx*H8u
Adj
web.meyu.netnkf*a4{^ p-^"}ez4X
2.3.配置.htaccess 阻止/允许特定的IP地址Y.DR6|xj+~]sX
某些情况下,你可能只想允许某些特定IP的用户可以访问你的网站(例如:只允许使用特定ISP的用户进入某个目录),或者想封禁某些特定的IP地址(例如:将低级用户隔离于你的信息版面外)。当然,这只在你知道你想拦截的IP地址时才有用,然而现在网上的大多数用户都使用动态IP地址,所以这并不是限制使用的常用方法。梦游时光互联"e{1s0}e5[1]?

H2Coj1fJ!hweb.meyu.net你可以使用以下命令封禁一个IP地址:梦游时光互联f        `.bm9{

3ddU1O.Ap,Gz
^ Wj
           deny from 000.000.000.000
4E"\#HU3l/g
f-W:E8s AI{web.meyu.net

;Aj u'K8CPD3ZTI]r这里的000.000.000.000是被封禁的IP地址,如果你只指明了其中的几个,则可以封禁整个网段的地址。如你输入210.10.56.,则将封禁210.10.56.0~210.10.56.255的所有IP地址。9v1h5u7X9cS%Dt
4s"?.w$Glm
你可以使用以下命令允许一个IP地址访问网站:![,Y7Ux A%O$y
`C M1M!Wo;A
           allow from 000.000.000.000
o3Kj2QvQl?2Yd#N
o

被允许的IP地址则为000.000.000.000,你可以象封禁IP地址一样封禁整个网段。web.meyu.netE7l1R)Qi@)oU1Wc0|
梦游时光互联6gZ8L;m2c ]:`9k#D6h
如果你想阻止所有人访问该目录,则可以使用:web.meyu.net/zwE/FC5IG
梦游时光互联a"uYB_
           deny from all
?/pI-p3|e$pH0T
&Xc1H1@
q"w-E)S8M0xAeweb.meyu.net
不过这并不影响脚本程序使用这个目录下的文档。X*T]-HMwq
"[8?4d3g!x5s&xs4D

rK?,H\
}:d5~
2.4.配置.htaccess 替换index文件_W&?'coh&Q)T
改变缺省的首页文件
4e0rN2[9o+t|9B'`web.meyu.net梦游时光互联&rve
} OZJ{hQ*L6F

一般情况下缺省的首页文件名有default、index等。不过,有些时候目录中没有缺省文件,而是某个特定的文件名,比如在w3sky中是 w3sky.PHP。这种情况下,要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名:
$}-n4~/x;^g梦游时光互联
'O$bQ.q#[
OBk
           DirectoryIndex 新的缺省文件名7a*TV)L5D!A        _b8n,L
aU8mVGTO0a
也可以列出多个,顺序表明它们之间的优先级别,例如:G.[#o-j:`;z1x6o5`

&kfW3C Rwweb.meyu.net           DirectoryIndex filename.html index.cgi index.pl default.htm
Z1M;]        u/Fr)v&af7B
pt{*w.B ITweb.meyu.net也许你不想一直使用index.htm或index.html作为目录的索引文件。举例来说,如果你的站点使用PHP文件,你可能会想使用 index.PHP来作为该目录的索引文档。当然也不必局限于“index”文档,如果你愿意,使用.htaccess你甚至能够设置 foofoo.balh来作为你的索引文档!
+R[h!X*e
:l        Nm n@4Av,S这些互为替换的索引文件可以排成一个列表,服务器会从左至右进行寻找,检查哪个文档在真实的目录中存在。如果一个也找不到,它将会把目录列表显示出来(除非你已经关闭了显示目录文件列表)。
la_q E        ga

A@3q%~qM5lVweb.meyu.net
           DirectoryIndex index.PHP index.PHP3 messagebrd.pl index.html index.htm
H3@(by@~@u:H)h j&H|Z

2U`-}.ULKy'U"w2{2.5.配置.htaccess 重定向页面
E|        [%f a)?!pM/n1~web.meyu.net.htaccess最有用的功能之一就是将请求重定向到同站内或站外的不同文档。这在你改变了一个文件名称,但仍然想让用户用旧地址访问到它时,变的极为有用。另一个应用(我发现的很有用的)是重定向到一个长URL,例如在我的时事通讯中,我可以使用一个很简短的URL来指向我的会员链接。以下是一个重定向文件的例子:

{"?$lKV4l:qE$k

g }z9[
A ?
V梦游时光互联
           Redirect /location/from/root/file.extweb.meyu.netZ~e/y!Hs`@
           http://www.w3sky.com/new/file/123.htmldp oV |

.MN2c.kI-l @j梦游时光互联上述例子中,访问在root目录下的名为oldfile.html可以键入:B\ No0`9@#eY}Y$x.I
s2o2?
D[e7\X

           /oldfile.html
3B*Hm}e
W!|4Uc
1d&L4w/l5zc.k
访问一个旧次级目录中的文件可以键入: P*B&s"Q4W

X.vo%k-A           /old/oldfile.html
y-q4e/L Q:~? Tweb.meyu.net
2ayB1wJ        \k/BJ4}你也可以使用.htaccess重定向整个网站的目录。假如你的网站上有一个名为olddirectory的目录,并且你已经在一个新网站 http://www.w3sky.com/newdirectory/上建立了与上相同的文档,你可以将旧目录下所有的文件做一次重定向而不必一一声明:6s
D,z9`E/ae


6e-v;v.J%R4Z0^J7j梦游时光互联           Redirect /olddirectory http://www.w3sky.com/newdirectoryweb.meyu.netSqzBQ6\1h
梦游时光互联3o2~"RQ.M1m        d
这样,任何指向到站点中/olddirectory目录的请求都将被重新指向新的站点,包括附加的额外URL信息。例如有人键入:
+[*d@:Yz
lh
梦游时光互联1^x+M%N~(Q;^
~+`J

           
%?g.hm Oy#H(xweb.meyu.net
?(c;z/o\+d)N
eh

请求将被重定向到:梦游时光互联&e
bJ)WNF

}.^_$ij7X
           Z:[2xt!O}

~At
^yC
如果正确使用,此功能将极其强大。web.meyu.net        eU FFfO Y*V
'|h4?n8j3@z*t        xS
我们可能对网站进行重新规划,将文档进行了迁移,或者更改了目录。这时候,来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下,可以通过如下指令来完成旧的URL自动转向到新的地址:Q6`WM8Dce-w
w        y


'K&_hdHH           Redirect /旧目录/旧文档名 新文档的地址梦游时光互联,q$c
K2zwBx$[%I1w

WU8a:I0o9w
或者整个目录的转向:&wN4sh"Oi ~N

        WTe]1h梦游时光互联           Redirect 旧目录 新目录
(F$l1U,k9K
I"Y3uweb.meyu.net
7rqo%pu3T
n\?x1[o

`Is+UsB0W g2iZUweb.meyu.net
oj#L8n+[ ]SHOweb.meyu.net超过字节限制了 下续
作者: adicom     时间: 2007-11-16 02:40 PM

3.1.密码保护的.htaccess文件
JOk;f^
A`(vweb.meyu.net
尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用的做法是将其用于网站目录可靠的密码保护。尽管JavaScrip等也能做到,但只有.htaccess具有完美的安全性(即访问者必须知晓密码才可以访问目录,并且绝无“后门”可走)。
ANg"JG6GAh/bweb.meyu.net
%s(^?@}6b梦游时光互联利用.htaccess将一个目录加上密码保护分两个步骤。第一步是在你的.htaccess文档里加上适当的几行代码,再将.htaccess文档放进你要保护的目录下:M
Ar5xmyk


+P4C:g^~B2G@'dweb.meyu.net           AuthName “Section Name”
H}3qm;nW5J*{           AuthType Basicweb.meyu.net'^%E5N        T(M2A
           AuthUserFile /full/path/to/.htpasswd
9?;fSi4?~           Require valid-userweb.meyu.net&V%Vd3Cjs+S6xGd*|

J?-}8^~你可能需要根据你的网站情况修改一下上述内容中的一些部分,如用被保护部分的名字”Members Area”,替换掉“Section Name”。web.meyu.netk-j&A9x_ p
web.meyu.net
|%s1I%I3P&vPlk

/full/parth/to/.htpasswd则应该替换为指向.htpasswd文件(后面详述该文档)的完整服务器路径。如果你不知道你网站空间的完整路径,请询问一下你的系统管理员。
_d*I!M5iB3J.C"aY
!u8J"Umegd`5m
.u
p(G|rl`&^'Bp:[
3.2.密码保护的.htpasswd文件.Zg6qw e3I}R9q+{
目录的密码保护比.htaccess的其他功能要麻烦些,因为你必须同时创建一个包含用户名和密码的文档,用于访问你的网站,相关信息(默认)位于一个名为.htpasswd的文档里。像.htaccess一样,.htpasswd也是一个没有文件名且具有8位扩展名的文档,可以放置在你网站里的任何地方(此时密码应加密),但建议你将其保存在网站Web根目录外,这样通过网络就无法访问到它了。1516501417
Ib,Y-v$KNj7wweb.meyu.net7ey#t,F h+KVh
在使用.htaccess来设置目录的密码保护时,它包含了密码文件的路径。从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的内容。虽然可以用其他方式做到这点,比如文档的权限。不过,.htaccess本身也能做到,只需加入如下的指令:1516501417梦游时光互联RTfdnvID
U;mM }5\+\
           order allow,denyweb.meyu.net"W)Ty1p'^mN5C#sN
           deny from all
dnj&e I4LMkweb.meyu.net
9Lv2_.v
_o&Tweb.meyu.net

|e~-yv梦游时光互联3.3.配置 .htaccess 输入用户名和密码6T*LK        yk#a:@
要利用.htaccess对某个目录下的文档设定访问用户和对应的密码,首先要做的是生成一个.htpasswd的文本文档,例如:UV.i[u2I
ExT*n:nB
           forge:y4E7Ec8e7EwV
0nTnD"IW9~5C#rzweb.meyu.net/H
P+^GI"H$MD%z+X+F

这里密码经过加密,用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下,建议放在www根目录文档之外,这样更为安全些。web.meyu.netm        ~B^
nkvlQ }

梦游时光互联E7U2B"eC+{U+Jv
有了授权用户文档,可以在.htaccess中加入如下指令了:
7L4m^ef
z,K
;khT
h8G tG        bs

           AuthUserFile .htpasswd的服务器目录
.d6nl0I5dU        _           AuthGroupFile /dev/null (需要授权访问的目录)梦游时光互联e`S*[W^/[
           AuthName EnterPassword
5^B;SS+E:U~b$f W梦游时光互联           AuthType Basic (授权类型)
vyH]Sa9|DYii Gweb.meyu.nety8jEUf&[S Qy1Sb
           require user wsabstract (允许访问的用户,如果希望表中所有用户都允许,可以使用 require valid-user))Ud"d&}
g~bW4x


HdM*t        y8S_'a:`n1F注,括号部分为学习时候自己添加的注释
_6WL$Ve1lb J6j.L梦游时光互联%i?y&Js Cl$LD
拒绝来自某个IP的访问梦游时光互联 I7KTE*eXpm!A
)n)d(sd4vW
如果我不想某个政府部门访问到我的站点的内容,那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。        Sbe
s"D        z5q

|s+nTm6o7x
例如:
[{a| gHl
UEweb.meyu.net
           order allow,denyz"La7^ S
j

           deny from 210.10.56.32梦游时光互联j,pXeLo"M
E

           deny from 219.5.45.,CH5f4Ln,BW
           allow from alln:g
n6Bw


'^]4S E~ |第二行拒绝某个IP,第三行拒绝某个IP段,也就是219.5.45.0~219.2.45.255梦游时光互联(~$dJAPI:W
]u]UoM(i VH
想要拒绝所有人?用deny from all好了。不止用IP,也可以用域名来设定。?A,f`Gi%g7kG"va
梦游时光互联;Rhg~U"Q
创建好.htpasswd文档后(可以通过文字编辑器创建),下一步是输入用于访问网站的用户名和密码,应为:
D2H(q-h
Y1b5z6l

梦游时光互联)Rn2I)lX3P2d
           username:password
g c*t        E q5Wp PS%g F)y7U'W1Q
“password”的位置应该是加密过的密码。你可以通过几种方法来得到加密过的密码:一是使用一个网上提供的permade脚本或自己写一个;另一个很不错的username/password加密服务是通过KxS网站,这里允许你输入用户名及密码,然后生成正确格式的密码。
$yNO3O)C;~
9l@-DY8p;Y对于多用户,你只需要在.htpasswd文档中新增同样格式的一行即可。另外还有一些免费的脚本程序可以方便地管理.htpasswd文档,可以自动新增/移除用户等。5h0Z%D]*m

:v i0pf!y
x
(NDz6l2H
3.4.配置.htaccess 直接访问加密网站web.meyu.net:G.U0V|#A6X
当你试图访问被.htaccess密码保护的目录时,你的浏览器会弹出标准的username/password对话窗口。如果你不喜欢这种方式,有些脚本程序可以允许你在页面内嵌入username/password输入框来进行认证,你也可以在浏览器的URL框内以以下方式输入用户名和密码(未加密的):
(a@({m(E-T:X?2sweb.meyu.net
:f*_ i_-ic)O]梦游时光互联           http://username:password@www.w3sky.com/directory/!D*KA&hu LR
z}6uW?

web.meyu.net'k?Bq        kS+d!J
梦游时光互联 G$lOj6\
F0e\

3.5.利用 .htaccess 防止盗链
B6c)jFqm-@'x"D g如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过htaccess的指令来做到。
,G3oF2U,hS:e'Bg%H0[4I.H0m(B        l
所需要的指令如下:web.meyu.net ssE,qA3x$?)m*N

H`5Re$n           RewriteEngine on%zL5M:oQ*Q(`v
           RewriteCond %{ HTTP_REFERER } !^$
e"tI4nG           RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]web.meyu.netg+m8t p-SJ*t_
           RewriteRule .(gif &line;jpg)$ - [F]"J(@"fJWH"y}!E0?

d!V+F%l$E如果觉得让别人的页面开个天窗不好看,那可以用一张图片来代替:
%]HrZ[/nAP O`web.meyu.net
}
tS x{j
V)D2l&u
           RewriteEngine on
]G[ {&}
yxweb.meyu.net
           RewriteCond %{ HTTP_REFERER } !^$
t3Qf~2sh;Pl           RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]EB#p.R        S,yvh
           RewriteRule .(gif &line;jpg)$ http://www.w3sky.com/替代图片文件名 [R,L] *vt3cwJ3J9zfa
web.meyu.netGJ PrlP
2VS*las}W
3.6.利用 .htaccess进行地址转向 ,ij1a,]%@
这种方法,就是把yourdomain.com的流量全部301转向到www.yourdomain.com(或者反过来)。其实对于这种方法,国外有人认为对PageRank没有帮助。我觉得是因为他们看到Google管理员工具中有一个首选域工具,可以指定Google的爬虫把 www.yourdomain.com或者yourdomain.com作为抓取和排名的首选域,转向似乎就没有必要了。但确实又有不少人证实这是有效的,反正目前还没有人说这种方法会对SEO或者pagerank有什么损害。
:u.I#D2`9Q/s}xweb.meyu.net-|b@ Y){;I&K
在.htaccess中写入:
s^'F-TdTuD?%HtJ_4NG-L;?^
              Options +FollowSymlinks All -Indexes #Z+s3q @@^}
              rewriteEngine on
+v h%]MM!O              rewriteBase /
2T x L2lpsweb.meyu.net              RewriteCond %{HTTP_HOST} ^domain.com$
2MC\4qEn4r$Z,f,U              RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] 6V$E6f!fMT

7B@i,E:s&w/WQweb.meyu.netY0^'}'KB"H
3.7.利用 .htaccess对域名中“www”的控制[F-}r(F~+N^
强制去除3w
'|v/nG1sh梦游时光互联 z,]bUbo`5r-d,f1zG
下面以 Wordpress 为例,其它的情况,可以自己参照解决。在你的 Wordpress 目录下通常会有一个 .htaccess 文件,如果没有,那就手动建立一个。如果你设定了 permalink 的话,.htaccess 里面的内容会有如下一坨:L1vh"m4B8O)qR

&i I![`s NX             <IfModule mod_rewrite.c>&?2jH1|#a"CE8l(N
              RewriteEngine Onweb.meyu.netS3B$@ GHR
             RewriteBase /(F$rx7y%qG~r4W
             RewriteCond %{REQUEST_FILENAME} !-fweb.meyu.netY[ E8j6v9M*R |
             RewriteCond %{REQUEST_FILENAME} !-dV+Y| ~"f3GU
             RewriteRule . /index.php [L]6L&C+_D]E%Wz,k
             </IfModule>web.meyu.net
|+U|S,IT]

web.meyu.netkp@vqYij
具体是啥意思咱就甭管它了,只管在 RewriteBase / 这行下面加上:
$U        V+e/ody:E        Vo!@
7u re?GA             RewriteCond %{HTTP_HOST} ^www.yourdomain.tld$ [NC]
:y)cTLz+eJ             RewriteRule ^(.*)$ http://yourdomain.tld/$1 [R=301,L]

Oy5fk#jo!{eA$L!yweb.meyu.net
web.meyu.net&M'{H3?`3g6DN
这样就大功告成了。当然要把 yourdomain.tld 换成你自己的域名。上面两行的意思是把 www.yourdomain.tld 这种形式改写成 yourdomain.tld, 并把访问前者的所有链接永久转向到后者。um^5Vd
P


H+xv9gf"J.Z)k1wI.bweb.meyu.net域名前强制加上www
f.E(m/gy\        H7l
-\ {2s+v#Ih        mo如果你实在是坚持要把 www 加在前面,我上面的算是白写了,表示遗憾。但,你可以。只需把上面添加的两行代码改成这样:
Ur @f-L;w,Xy5Cg
*Q,@4i&a$@#DCax梦游时光互联             RewriteCond %{HTTP_HOST} ^yourdomain.tld$ [NC]
+R&tKs'wx             RewriteRule ^(.*)$ http://www.yourdomain.tld/$1 [R=301,L]
G6\ sz4byL\mVweb.meyu.net
&q,K        a2Q        B:jW.e4.1.     .htaccess 总结
        ?.zV3h/c _[;v;a.htaccess是一个站点管理员可以应用的强大工具,有更多的变化以适应不同的用途,可以节约时间及提高网站的安全性4D!_#uZy p

Gya9D9Jr.htaccess的特别说明梦游时光互联w?#O+vVYcca#uq

5oZ e+cM)^        _* 启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用{        `*R].W        k
* 如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:,|y9n$zb
梦游时光互联V YFs*wo'b        w
           AccessFileName .config 5lHm2]k` XM
7O;}8c$nK[?
* 一般情况下,不应该使用. htaccess文件,除非你对主配置文件没有访问权限。有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,其实并不是这样,把用户认证写在主配置文件中是完全可行的,而且是一种很好的方法。.htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有 root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在同一个机器上运行了多个用户站点,而又希望用户可以自己改变配置的情况下。虽然如此,一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件的<Directory>段中,而且更高效。避免使用.htaccess文件有两个主要原因,即性能和安全。
R3[WNO$VhNS`梦游时光互联
i*Q,TE&C[Ui V附:.htaccess工具连接
R#X+G/oT
%[2GUk\;H
D B
在线 .htaccess文件生成器web.meyu.net$i
Y4druZD)c9Ltw

梦游时光互联G2vs`
v.vZ

http://cooletips.de/htaccess/
Q*w_"Sb9T#GF能够在线生成. htaccess文件,很简单的就配置重定向,系统错误文件等。
Ku{9[w-l/p FI
7s3va/M*x%^]web.meyu.net.htaccess编辑器在线编辑器a+\4rR/f-lBO5n

R#u%lp?[;z8}可自定义默认编码,错误页面等等K$z*{!eX JFQ
下载地址: http://9458398.cn/attachments/month_0506/zxp4_my.rar
作者: 100     时间: 2007-11-16 03:02 PM

确实是个好东西。几乎可以实现你想到的所有功能
作者: fhg007     时间: 2007-11-17 08:00 PM

我晕
作者: qqk8     时间: 2007-11-18 12:37 PM

学习php中...
作者: An_Apple     时间: 2007-11-18 08:03 PM

甚好,甚强巨!
作者: fy007     时间: 2008-1-16 04:54 AM

大概的看了一下。要熟悉怕不是一下能好的。
作者: outthemirror     时间: 2008-1-17 03:58 PM

呵呵。新手。谢谢。
作者: 咸鱼翻身     时间: 2008-1-18 02:43 PM

很长,但很有用
作者: d10000     时间: 2008-1-26 05:40 AM

静态化用  很好  很好。。。。。   可是自己不会调...
作者: yaoqi     时间: 2008-3-1 12:55 AM

可不可以用.htaccess来禁止某文件夹里的php文件执行!梦游时光互联9ON9z        VZA
_#nhA(w6N9nH/n4D
如有,请赐教!
作者: q2209358     时间: 2008-3-20 10:27 PM

E:u9j1T Q.N/eP
gQ4i

web.meyu.net%w\%Wk.E5z
[ 本帖最后由 q2209358 于 2008-3-20 10:36 PM 编辑 ]
作者: An_Apple     时间: 2008-3-24 05:28 PM

谢谢大家支持,顶你。
作者: hui0xia     时间: 2008-4-15 02:07 PM

看得我头都大了。也没有看个情况。。。超郁闷中。。。9a]H(x*qY)M#\
学习中,,,,,,,,,,,
作者: loco58     时间: 2008-7-2 12:11 AM

学习了·强·~·~~
作者: chrislau     时间: 2008-7-15 11:00 AM

请问,在使用.htacess遮蔽掉IP后,原定的403错误页面却也无法显示给被屏蔽的IP了,有解决方法吗




欢迎光临 梦游时光互联 (http://web.meyu.net/) Powered by Discuz! 4.0.0