仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 970|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网站制作之Apache指南: .htaccess文件利用手册

[复制链接]
跳转到指定楼层
楼主
发表于 2015-2-4 00:00:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
就是管理员可以编辑,删除,回复 等功能,。加入管理员功能要加入登陆系统,慢慢你会想在线添加管理员,慢慢你会让自己的作品更漂亮些,慢慢1个完整的留言板就会出来了,   由于在一个国外的空间的根文件夹下看到这个.htaccess,弄不懂是干甚么的,在后进服装论坛找到一篇文章,先转过去放着,今后再渐渐研讨,嘿嘿..  
    Apache指南: .htaccess文件  
.htaccess文件供应了针对目次改动设置装备摆设的办法。  
  * .htaccess文件  
  * 任务道理和利用办法  
  * 利用.htaccess文件的场所  
  * 指令的失效  
  * 认证举例  
  * 办事器端包括举例  
  * CGI举例  
  * 疑问解答  
top  
.htaccess文件  
相干模块     相干指令  
  * core  
  * mod_auth  
  * mod_cgi  
  * mod_include  
  * mod_mime  
      
  * AccessFileName  
  * AllowOverride  
  * Options  
  * AddHandler  
  * SetHandler  
  * AuthType  
  * AuthName  
  * AuthUserFile  
  * AuthGroupFile  
  * Require  
top  
任务道理和利用办法  
.htaccess文件(或"散布式设置装备摆设文件"供应了针对目次改动设置装备摆设的办法, 即,在一个特定的文档目次中放置一个包括一个或多个指令的文件, 以感化于此目次及其一切子目次。  
申明:假如需求利用.htaccess之外的其他文件名,可以用AccessFileName指令来改动。 例如,需求利用.config,则可以在办事器设置装备摆设文件中按以下办法设置装备摆设:  
AccessFileName .config  
答应放在这些文件中的指令取决于AllowOverride指令, 此指令按种别决意了.htaccess文件中哪些指令才是无效的。 假如一个指令答应放在.htaccess文件中,则,在本手册的申明中,此指令会有一个掩盖段, 个中申明了为使此指令失效而必需在AllowOverride指令中设置的值。  
例如,本手册对AddDefaultCharset指令的申明标明了, 此指令可以用于.htaccess文件(见 Context一行),而Override一行是"FileInfo", 那末为使.htaccess中的此指令无效,则最少要设置"AllowOverride FileInfo"。  
例子:  
Context:     server config, virtual host, directory, .htaccess  
Override:     FileInfo  
假如不克不及肯定一个特定的指令是不是答应用于.htaccess文件, 可以查阅手册中对指令的申明,看在Context(“高低文”)行中是不是有".htaccess."。  
top  
利用.htaccess文件的场所  
普通情形下,不该该利用.htaccess文件,除非你对主办事器设置装备摆设文件没有存取权限。 有一种很罕见的曲解,以为用户认证只能经由过程.htaccess文件完成,但并非如许, 把用户认证写在主办事器设置装备摆设中是完整可行的,并且是一种很好的办法。  
在内容供应者需求针对目次改动办事器的设置装备摆设而对办事器体系没有root权限时, 则应当利用.htaccess文件。假如办事器办理员不肯意频仍修正设置装备摆设, 则可以答应用户经由过程.htaccess文件本人修正设置装备摆设,特别是ISP在一个机械上 宿主多个用户站点,而又但愿用户可以本人改动设置装备摆设的情形下。  
固然如斯,普通都应当尽量地防止利用.htaccess文件。 任何但愿放在.htaccess文件中的设置装备摆设,都可以放在主办事器的<Directory>段中,并且更高效。  
防止利用.htaccess文件有两个次要缘由。  
起首是功能。 假如AllowOverride答应利用.htaccess文件, 则,Apache需求在每一个目次中查找.htaccess文件,因而,不管是不是真正用到, 答应利用.htaccess文件城市招致功能的下落。 别的,每次恳求一个页面时,都需求读取.htaccess文件。  
还有,Apache必需在一切更初级的目次中查找.htaccess文件, 使一切无效的指令都起感化(拜见how directives are applied.),所以, 假如有对/www/htdocs/example中页面的恳求,Apache必需查找以下文件:  
/.htaccess  
/www/.htaccess  
/www/htdocs/.htaccess  
/www/htdocs/example/.htaccess  
并且,对此目次之外的每一个文件会见,还有4个附加的文件体系会见,即便这些文件都不存在。 (注重,这能够仅仅产生在 / 答应利用.htaccess文件的情形下,固然这类情形其实不多。)  
其次是平安。 如斯,会答应用户修正办事器的设置装备摆设,能够会招致未加限制的修正,请仔细思索是不是赐与用户如许的特权。 然而,假如赐与用户较少的特权而不克不及知足其需求,则会带来额定的手艺撑持恳求, 所以,必需明白地告知用户已赐与他们的权限,申明AllowOverride设置的值, 并引诱他们参阅响应的申明,以避免往后很多费事。  
注重,在/www/htdocs/example目次下.htaccess文件中放置指令,与, 在主办事器设置装备摆设文件中<Directory /www/htdocs/example>段中放置不异指令, 是等效的。:  
/www/htdocs/example中的.htaccess:  
/www/htdocs/example中.htaccess文件的内容  
AddType text/example .exm  
httpd.conf文件中的段  
<Directory /www/htdocs/example>  
AddType text/example .exm  
</Directory>  
然而,把这个设置装备摆设放置在办事器设置装备摆设文件中则加倍高效,由于只需求在Apache启动时读取一次, 而不是在有文件恳求时每次都读取。  
将AllowOverride设置为"none"可以完整制止利用.htaccess文件。  
AllowOverride None  
top  
指令的失效  
.htaccess文件中的设置装备摆设指令感化于.htaccess文件地点的目次及其一切子目次, 然而,很主要需求记住的是,其更初级的目次也能够会有.htaccess文件, 而指令是按查找按次顺次失效,所以, 一个特定目次下的.htaccess文件中的指令能够会掩盖其更初级目次中的 .htaccess文件的指令,即, 子目次中的指令会掩盖更初级目次或主办事器设置装备摆设文件中的指令。  
例如:  
目次/www/htdocs/example1中的.htaccess文件有以下内容:  
Options +ExecCGI  
(注重: 必需设置"AllowOverride Options"以答应在.htaccess文件中利用 "Options"指令。)  
在目次/www/htdocs/example1/example2中的.htaccess文件有以下内容:  
Options Includes  
因为第二个.htaccess文件的存在,/www/htdocs/example1/example2中 的CGI履行是不答应的,而只答应Options Includes,它完整掩盖了之前的设置。  
top  
认证举例  
假如你为了晓得若何认证,直接从这里入手下手看,有很主要的一点需求注重,有一种罕见的曲解, 以为完成暗码认证必需要利用.htaccess文件,其实不是如许。 把认证指令放在主办事器设置装备摆设文件的<Directory>段中,是一个更好的办法, 而.htaccess文件应当仅仅用于无权会见主办事器设置装备摆设文件的时分。 拜见上述的利用.htaccess文件的场所。  
有此声明在先,假如你依然需求利用.htaccess文件,请看以下申明。  
必需设置"AllowOverride AuthConfig"以答应这些指令失效  
.htaccess文件的内容:  
AuthType Basic  
AuthName "Password Required"  
AuthUserFile /www/passwords/password.file  
AuthGroupFile /www/passwords/group.file  
Require Group admins  
注重,必需设置AllowOverride AuthConfig以答应这些指令失效  
更具体的有关身份辨认和认证的申明,请拜见authentication tutorial。  
top  
办事器端包括举例  
.htaccess文件的另外一个罕见用处是答应一个特定目次的办事器端包括(Server Side Includes), 可以在需求的目次中放置.htaccess文件,并以下设置装备摆设:  
Options +Includes  
AddType text/html shtml  
AddHandler server-parsed shtml  
注重,必需同时设置AllowOverride Options和 AllowOverride FileInfo使这些指令失效。  
更具体的有关办事器端包括的申明,请拜见SSI tutorial。  
top  
CGI举例  
最初,可以经由过程.htaccess文件答应在特定目次中履行CGI法式,需按以下设置装备摆设:  
Options +ExecCGI  
AddHandler cgi-script cgi pl  
别的,以下,可使给定目次下一切文件被视为CGI法式:  
Options +ExecCGI  
SetHandler cgi-script  
注重,必需设置AllowOverride Options使这些指令失效。  
更具体的有关CGI编程和设置装备摆设的申明,请拜见CGI tutorial。  
top  
疑问解答  
假如在.htaccess文件中写入了设置装备摆设指令但不起感化,能够有多种缘由。  
最多见的缘由是,AllowOverride指令没有被准确设置, 必需确保没有对此文件区域设置AllowOverride None。有一个很好的测试办法,即, 在.htaccess文件随意增添点没用的内容,假如办事器没有前往了一个毛病动静, 那末几近可以判定设置了AllowOverride None。  
在会见文档时,假如收到办事器的失足动静,应当反省Apache的失足日记, 可以晓得.htaccess文件中哪些指令是不答应利用的,也能够会发明需求改正的语法毛病。  

.htaccess文件利用手册  
- .htaccess文件(或"散布式设置装备摆设文件"供应了针对目次改动设置装备摆设的办法, 即,在一个特定的文档目次中放置一个包括一个或多个指令的文件,以感化于此目次及其一切子目次。作为用户,所能利用的号令遭到限制。办理员可以经由过程Apache的AllowOverride指令来设置。  
- 子目次中的指令会掩盖更初级目次或主办事器设置装备摆设文件中的指令。  
- .htaccess必需以ASCII形式上传,最好将其权限设置为644。  
毛病文档的定位  
经常使用的客户端恳求毛病前往代码:  
401 Authorization Required  
403 Forbidden  
404 Not Found  
405 Method Not Allowed  
408 Request Timed Out  
411 Content Length Required  
412 Precondition Failed  
413 Request Entity Too Long  
414 Request URI Too Long  
415 Unsupported Media Type  
罕见的办事器毛病前往代码:  
500 Internal Server Error  
用户可以使用.htaccess指定本人事前制造好的毛病提示页面。普通情形下,人们可以专门设立一个目次,例如errors放置这些页面。然后再.htaccess中,到场以下的指令:  
ErrorDocument 404 /errors/notfound.html  
ErrorDocument 500 /errors/internalerror.html  
一条指令一行。上述第一条指令的意思是关于404,也就是没有找到所需求的文档的时分得显示页面为/errors目次下的notfound.html页面。不好看出语法格局为:  
ErrorDocument 毛病代码 /目次名/文件名.扩大名  
假如所需求提醒的信息很少的话,不用专门制造页面,直接在指令中利用HTML号了,例以下面这个例子:  
ErrorDocument 401 "<body bgcolor=#ffffff><h1>你没有权限会见该页面,请保持!</h1></body>"  
文档会见的暗码回护  
要使用.htaccess对某个目次下的文档设定会见用户和对应的暗码,起首要做的是生成一个.htpasswd的文本文档,例如:  
zheng:y4E7Ep8e7EYV  
这里暗码经由加密,用户可以本人找些东西将暗码加密成.htaccess撑持的编码。该文档最好不要放在www目次下,建议放在www根目次文档以外,如许更加平安些。  
有了受权用户文档,可以在.htaccess中到场以下指令了:  
AuthUserFile .htpasswd的办事器目次  
AuthGroupFile /dev/null (需求受权会见的目次)  
AuthName EnterPassword  
AuthType Basic (受权类型)  
require user wsabstract (答应会见的用户,假如但愿表中一切用户都答应,可使用 require valid-user)  
注,括号局部为进修时分本人添加的正文  
回绝来自某个IP的会见  
假如我不想某个当局部分会见到我的站点的内容,那可以经由过程.htaccess中到场该部分的IP而将它们回绝在外。  
例如:  

order allow,deny  
deny from 210.10.56.32  
deny from 219.5.45.  
allow from all  
第二行回绝某个IP,第三行回绝某个IP段,也就是219.5.45.0~219.2.45.255  
想要回绝一切人?用deny from all好了。不止用IP,也能够用域名来设定。  
回护.htaccess文档  
在利用.htaccess来设置目次的暗码回护时,它包括了暗码文件的途径。从平安思索,有需要把.htaccess也回护起来,不让他人看到个中的内容。固然可以用其他体例做到这点,好比文档的权限。不外,.htaccess自己也能做到,只需到场以下的指令:  
<Files .htaccess>  
order allow,deny  
deny from all  
</Files>  
URL转向  
咱们能够对网站停止从头计划,将文档停止了迁徙,或更改了目次。这时候候,来自搜刮引擎或其他网站链接过去的会见便可能失足。这类情形下,可以经由过程以下指令来完成旧的URL主动转向到新的地址:  
Redirect /旧目次/旧文档名 新文档的地址  
或全部目次的转向:  
Redirect 旧目次 新目次  
改动缺省的首页文件  
普通情形下缺省的首页文件名有default、index等。不外,有些时分目次中没出缺省文件,而是某个特定的文件名,好比在pmwiki中是pmwiki.php。这类情形下,要用户记住文件名来会见很费事。在.htaccess中可以等闲的设置新的缺省文件名:  
DirectoryIndex 新的缺省文件名  
也能够列出多个,按次标明它们之间的优先级别,例如:  
DirectoryIndex filename.html index.cgi index.pl default.htm  
避免盗链  
假如不喜好他人在他们的网页上毗连本人的图片、文档的话,也能够经由过程htaccess的指令来做到。  
所需求的指令以下:  
RewriteEngine on  
RewriteCond % !^$  
RewriteCond % !^http://(www\.)?webjx.com/.*$ [NC]  
RewriteRule \.(gif|jpg)$ - [F]  
假如感觉让他人的页面开个天窗欠好看,那可以用一张图片来取代:  
RewriteEngine on  
RewriteCond % !^$  
RewriteCond % !^http://(www\.)?webjx.com/.*$ [NC]  
RewriteRule \.(gif|jpg)$ http://www.webjx.com/替换图片文件名 [R,L]

- .htaccess文件(或"散布式设置装备摆设文件"供应了针对目次改动设置装备摆设的办法, 即,在一个特定的文档目次中放置一个包括一个或多个指令的文件, 以感化于此目次及其一切子目次。作为用户,所能利用的号令遭到限制。办理员可以经由过程Apache的AllowOverride指令来设置。  
- 子目次中的指令会掩盖更初级目次或主办事器设置装备摆设文件中的指令。  
- .htaccess必需以ASCII形式上传,最好将其权限设置为644。  
毛病文档的定位  
经常使用的客户端恳求毛病前往代码:  
401 Authorization Required  
403 Forbidden  
404 Not Found  
405 Method Not Allowed  
408 Request Timed Out  
411 Content Length Required  
412 Precondition Failed  
413 Request Entity Too Long  
414 Request URI Too Long  
415 Unsupported Media Type  
罕见的办事器毛病前往代码:  
500 Internal Server Error  
用户可以使用.htaccess指定本人事前制造好的毛病提示页面。普通情形下,人们可以专门设立一个目次,例如errors放置这些页面。然后再.htaccess中,到场以下的指令:  
ErrorDocument 404 /errors/notfound.html  
ErrorDocument 500 /errors/internalerror.html  
一条指令一行。上述第一条指令的意思是关于404,也就是没有找到所需求的文档的时分得显示页面为/errors目次下的notfound.html页面。不好看出语法格局为:  
ErrorDocument 毛病代码 /目次名/文件名.扩大名  
假如所需求提醒的信息很少的话,不用专门制造页面,直接在指令中利用HTML号了,例以下面这个例子:  
ErrorDocument 401 "<body bgcolor=#ffffff><h1>你没有权限会见该页面,请保持!</h1></body>"  
文档会见的暗码回护  
要使用.htaccess对某个目次下的文档设定会见用户和对应的暗码,起首要做的是生成一个.htpasswd的文本文档,例如:  
zheng:y4E7Ep8e7EYV  
这里暗码经由加密,用户可以本人找些东西将暗码加密成.htaccess撑持的编码。该文档最好不要放在www目次下,建议放在www根目次文档以外,如许更加平安些。  
有了受权用户文档,可以在.htaccess中到场以下指令了:  
AuthUserFile .htpasswd的办事器目次  
AuthGroupFile /dev/null (需求受权会见的目次)  
AuthName EnterPassword  
AuthType Basic (受权类型)  
require user wsabstract (答应会见的用户,假如但愿表中一切用户都答应,可使用 require valid-user)  
注,括号局部为进修时分本人添加的正文  
回绝来自某个IP的会见  
假如我不想某个当局部分会见到我的站点的内容,那可以经由过程.htaccess中到场该部分的IP而将它们回绝在外。  
例如:  
order allow,deny  
deny from 210.10.56.32  
deny from 219.5.45.  
allow from all  
第二行回绝某个IP,第三行回绝某个IP段,也就是219.5.45.0~219.2.45.255  
想要回绝一切人?用deny from all好了。不止用IP,也能够用域名来设定。  
回护.htaccess文档  
在利用.htaccess来设置目次的暗码回护时,它包括了暗码文件的途径。从平安思索,有需要把.htaccess也回护起来,不让他人看到个中的内容。固然可以用其他体例做到这点,好比文档的权限。不外,.htaccess自己也能做到,只需到场以下的指令:  
<Files .htaccess>  
order allow,deny  
deny from all  
</Files>  
URL转向  
咱们能够对网站停止从头计划,将文档停止了迁徙,或更改了目次。这时候候,来自搜刮引擎或其他网站链接过去的会见便可能失足。这类情形下,可以经由过程以下指令来完成旧的URL主动转向到新的地址:  
Redirect /旧目次/旧文档名 新文档的地址  
或全部目次的转向:  
Redirect 旧目次 新目次  
改动缺省的首页文件  
普通情形下缺省的首页文件名有default、index等。不外,有些时分目次中没出缺省文件,而是某个特定的文件名,好比在pmwiki中是pmwiki.php。这类情形下,要用户记住文件名来会见很费事。在.htaccess中可以等闲的设置新的缺省文件名:  
DirectoryIndex 新的缺省文件名  
也能够列出多个,按次标明它们之间的优先级别,例如:  
DirectoryIndex filename.html index.cgi index.pl default.htm  
避免盗链  
假如不喜好他人在他们的网页上毗连本人的图片、文档的话,也能够经由过程htaccess的指令来做到。  
所需求的指令以下:  
RewriteEngine on  
RewriteCond % !^$  
RewriteCond % !^http://(www\.)?webjx.com/.*$ [NC]  
RewriteRule \.(gif|jpg)$ - [F]  
假如感觉让他人的页面开个天窗欠好看,那可以用一张图片来取代:  
RewriteEngine on  
RewriteCond % !^$  
RewriteCond % !^http://(www\.)?webjx.com/.*$ [NC]  
RewriteRule \.(gif|jpg)$ http://www.webjx.com/替换图片文件名 [R,L]  
一. 自界说404,401,等毛病  
1.
起首创立一个名为: .htaccess  
写入以下内容  
ErrorDocument 401 /err401.html  
ErrorDocument 402 /err402.html  
ErrorDocument 403 /err403.html  
ErrorDocument 404 /err404.html  
个中,401,402,403,404代表毛病类型,  
前面的err401.html代表其绝对应的页面,  
2.
分离创立名字为:  
err401.html,err402.html.........  
的文件,当呈现对应的毛病的时分,  
就会指向对面的页面  
3.
传到根目次下,  
也就是 public_html 目次下  
一切就OK了
二. 去失落告白
建个文件名 .htaccess 的文件, 文件内容以下:  
LayoutIgnoreURI *.php  
LayoutIgnoreURI *.cgi  
LayoutIgnoreURI *.htm  
LayoutIgnoreURI *.html  
将 .htaccess 上传至空间的 Public_html 目次下,便可去失落告白!  
注重 *.* 这里..想去那种扩大名的文件,就写上那种文件的扩大名!  
这个是最复杂的办法,只需在根目次加这个文件,那末全部网站都不会有告白!

给你的建议是,有些最常用的语句是需要记住的 比如if for while这些、其他的一般语句你只要知道有这个函数或者有这个功能就可以了,当你用的时候你可以凭借记忆搜索就可以了。
沙发
 楼主| 发表于 2015-2-4 08:00:07 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
精灵巫婆 该用户已被删除
板凳
发表于 2015-2-6 16:07:44 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
兰色精灵 该用户已被删除
地板
发表于 2015-2-17 00:50:55 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
若天明 该用户已被删除
5#
发表于 2015-3-5 13:45:20 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-3-12 07:43:22 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-19 18:47:57 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-20 19:34:57 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
简单生活 该用户已被删除
9#
发表于 2015-3-25 07:06:32 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
小魔女 该用户已被删除
10#
发表于 2015-4-4 19:52:28 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
因胸联盟 该用户已被删除
11#
发表于 2015-4-13 22:52:08 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
admin 该用户已被删除
12#
发表于 2015-4-16 14:11:56 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
深爱那片海 该用户已被删除
13#
发表于 2015-5-9 14:34:59 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
分手快乐 该用户已被删除
14#
发表于 2015-5-9 16:09:10 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
若相依 该用户已被删除
15#
发表于 2015-5-10 20:31:48 | 只看该作者
做为1门年轻的语言,php一直很努力。
爱飞 该用户已被删除
16#
发表于 2015-6-14 03:52:23 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
乐观 该用户已被删除
17#
发表于 2015-6-17 15:56:55 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
莫相离 该用户已被删除
18#
发表于 2015-6-29 15:07:07 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
老尸 该用户已被删除
19#
发表于 2015-7-3 10:09:35 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 03:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表