`
liudaoru
  • 浏览: 1558199 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用Apache的rewrite生成伪静态页面

阅读更多

From: http://www.qudong.com/soft/program/php/Apachejishu/20080317/624.html

 

我们知道,搜索引擎是偏爱静态页面的,因此,把诸如:http://www.jianglb.com/?p=123的页面改成http://www.jianglb.com/apaeche-rewrite.html显然有利于被搜索.

但是,如果一般的直接用http://www.jianglb.com/apaeche-rewrite.html而又不存在这地址的文件,就肯定会报错文件不存在.

这就要使用到Apache的rewrite模块,把这些URL重定向某个动态程序如index.php,当然,index.php也需要有相应的程序识别这些地址,以从数据库存取数据.

启用rewrite,要确认apache配置文件:httpd.conf中有
LoadModule rewrite_module libexec/mod_rewrite.so

网站所在的目录定义了下面的内
容:
Options Indexes FollowSymLinks
AllowOverride all

网站所在目录还必须包括一个.htaccess
内容为:
rewriteengine on
rewritebase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

如此则URL请求自动发送到index.php了

 
 
我写了个正值表达试是这样的 
RewriteRule   ^/*(.*?)/r_(.*?)-(.*?)-(.*?)-(.*?)-(.*?)\.html   $1/$2.php?type1=$3&type2=$4&type3=$5&page=$6     
伪静态格式必须为r_xxx-变量1-变量2-变量3-变量4.html 
有什么正值表达式如果有一个变量就r_xxx-变量1.html 
二个变量就r_xxx-变量1-变量2.html 
三个变量就r_xxx-变量1-变量2-变量3.html

 

 

分享到:
评论
8 楼 dagmom 2012-08-03  
www.domain.com/cn/?page_id=32要重定向到www.domain.com/zh/contactus
该怎么写?
7 楼 liudaoru 2008-12-10  
获取查询字符串:
rewriterule ^/cate/(\d+)\.html /ql?cateId=$1&${query_string} [QSA,pt]
6 楼 liudaoru 2008-12-09  

rewritecond %{query_string} ^(.*&)?file=([^&]+)(&.*)?$ [NC]
RewriteRule ^photos/watermark\.php$ /photos/data/%2? [NC,L]
5 楼 liudaoru 2008-12-09  
Apache模块 mod_rewrite

http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_rewrite.html#rewritecond

注意:查询字符串

Pattern不会按照查询字符串进行匹配。为了达到这个目的,你必须使用一个带有%{QUERY_STRING}变量的RewriteCond指令。当然,你也可以在替换字符串中创建包含查询字符串的URL:在替换字符串串中使用问号,以标明其后的部分应该被重新注入到QUERY_STRING中。而要删除一个已有的请求串,则可以用问号来终结替换字符串。为了联合新旧查询字符串,请使用[QSA]标志。
3 楼 liudaoru 2008-12-08  
Linux下Apache安装/增加mod_rewrite模块

From: http://tech.ddvip.com/2008-10/122477126681842.html
 如果你的服务器apache还没有安装,那很简单,在编译apache时将mod_rewrite模块编译进去就可以,相关文档可以在http://man.ddvip.com/soft/apache2.2/misc/rewriteguide.html中找到。如果你的apache已经安装好了,现在只想编译出mod_rewrite.so模块,在apache中进行加载,下面我们就介绍这个方法。

  以Fedora操作系统进行举例:

  1)首次安装apache,在编译时增加——enable-rewrite选项。

  如。/configure ——prefix=/usr/local/apachel ——enable-so ——enable-mods-shared=all ——enable-rewrite ——enable-cache

  2)增加mod_rewrite模块

  # find . -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件

  # cd PATH/to/mod_rewrite.c //进入包含mod_rewrite.c文件的目录

  # /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在你当前正在使用apache的bin目录里

  # /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

  如果没有什么错误的话,应该在你的apache的modules目录中编译出一个mod_rewrite.so文件。

  编辑httpd.conf文件,确认httpd.conf中已经包含mod_rewrite.so的加载语句,如下:

  LoadModule rewrite_module modules/mod_rewrite.so

  这时,你的apache应该已经支持rewrite了。

  vicos注:完成之后,记得重启服务器apache.
2 楼 liudaoru 2008-12-08  
Apache的Mod_rewrite学习(一)

From: http://hedong.3322.org/archives/000342.html

 车东很早就写了一篇文章来介绍利用mod_rewrite模块来达到用静态页面形式的链接隐藏后台的动态页面。
  Apache的rewrite模块,提供了一个基于规则的重写(rewrite,也许译为重构更为合适)引擎,来实时重写发送到Apache的请求URL。因功能极其强大,被称为URL重写的“瑞士军刀”。
  这个模块使用一个基于正则表达式解析器开发的重写引擎,根据web管理员定义的规则来实时(on the fly)重写请求URL。它支持任意数目的重写规则,以及附加到一条规则上的任意数目的规则条件,从而提供了一套非常灵活和功能强大的URL处理机制。URL处理操作的实施与否,依赖于各种各样的条件检查,如检查服务器变量、环境变量、HTTP头字段、时间戳的值,甚至外部数据库的检索结果。这个模块可以在服务器范围内(http.conf)、目录范围内(.htaccess)或请求串(query-string)的一部分处理有关的URL。重写的结果URL,可以指向一个站内的处理程序、指向站外的重定向或者一个站内的代理。与灵活和功能强大相随的是设置的复杂,别指望一天内弄明白整个模块。(所以,这个学习笔记也分了几部分:)
  

内部处理过程

API阶段
  首先,Apache处理HTTP请求是分阶段进行的,Apache API为每个阶段提供了一个钩子(hook)。Mod_rewrite使用了其中的两个钩子:一个用来在HTTP请求被读取但还没有访问授权验证之前进行URL_to_filename转换,一个用来在授权验证完成且目录设置文件(.htaccess)读取之后、但内容处理器(content handler)被调用之前激化,进行修补(fixup).因此,当一个请求到达,Apache决定了相关的服务器(或虚拟服务器)以后进行URL_to_filename阶段,重写引擎(rewrite engine)开始处理服务器设置中的重写指令(mod_rewrite directives).接下来几个阶段过后进入修补阶段,此时最终的数据所在的物理目录已经找到,目录配置中的重写指令开始执行。在这两个阶段,mod_rewrite都是将URL重写为新的URL或文件名,所以看起来并没有明显的区别。对API的这种应用,并不是一开始就是这样设计的,而是Apache1.x不得已而为之。为了搞清这个问题,以下两点需要记住。
  1)虽然mod_rewrite能进行URL到URL、URL到文件名字甚至文件名字到文件名字的转换,API(1.x)目前提供了一个URL_to_filename转换。在Apache2.0中,这两个钩子会被加进去,整个过程会更加清晰。一个事实必须清楚的记得:Apache在URL_to_filename钩子中,做得比API设计的功能更多。
  2)不可思议的是,mod_rewrite能在目录范围内(如根据.htaccess文件的指令配置)进行URL处理,虽然URL很早就已经被转换为文件名字了。只所以会如此,是因为.htaccess文件存在于文件系统中。也就是说,在这个阶段来进行URL处理,是非常晚的时候了。为了解决这个"先有鸡还是先有蛋"的问题,mod_rewrite用了一个小技巧:当在目录范围内处理URL/filename时,mod_rewrite先将文件名逆转回相关的URL(虽然通常是不可能的,但请参见下面用以实现这个技巧的RewriteBase指令),然后据这个新URL生成一个站内的子请求(internal sub-request),这又重开始了API进程。Mod_rewrite尽量使这些复杂的步骤对用户透明,但应要记住:虽然目录范围URL的真正处理过程很快很高效,但这一阶段会因为这个"鸡和蛋"的问题而变得很慢和低效。从另一方面来看,这也是mod_rewrite提供给普通用户进行目录范围内的URL处理的唯一途径.
规则集(RewriteRule指令集合)处理过程
  当mod_rewrite在上述的两个API阶段被激活时,它会从它的配置数据结构(在开始服务器上下文(per-server context)或目录上下文(per-directory context)时创建的)中读取配置的规则集,然后URL重写引擎启动来执行包含的规则集(一个或多条规则以及它们的条件)。两种上下文中的处理过程都是一样的,差别只是在最后的结果处理过程上。
  规则集中规则的顺序是非常重要的,因为重写引擎以特定的顺序来处理它们。重写引擎顺序遍历规则集,当一条规则匹配时,引擎会去遍历与它相关的条件集(RewriteCond指令集合).由于历史的原因,条件集先被列出来,因此控制流流程有点曲折(long-winded).如图一所示:
  正如所看到的,首先URL会与每条规则的模板(pattern)比较,当匹配失败时,立即停止对当前规则的处理进入下一条规则。当匹配成功时,mod_rewrite寻找相关的规则条件。如果找不到相关的条件,则直接执行规则中定义的替换,然后回到规则遍历的过程。如果找到了相关的条件,则启动一个内部循环,依次检查各个条件。对于检查,我们不是拿一个模板来匹配当前的URL,而是先创建一个TestString串,将串内的变量、后向引用(bakc-reference)、查询结果(map lookups)等展开,然后用这个TestString和条件式中的CondPattern进行匹配,如果匹配失败,则整个条件集且这个规则都不再执行,重要回到规则遍历中;如果匹配成功,则检查下一个条件,如果所有的条件都满足,则执行规则中定义的替换动作。  
特殊字符的转义
  既然基于正则式,则当然会有特殊字符的问题。在1.3.20版本的Apache中,通过在特殊字符前加一个“\”来将TestString或Sustitution串的特殊字符转义。
正则式的后向引用
  有一点需要记住:一旦在模板(pattern)或条件模板(CondPattern)中使用了括号,则后向引用已经自动产生了,你可以在Sustitution或TestString中通过$N或%N来引用相关的值。如图,描述了后向引用的值可以传到的位置。
配置指令(Configuration Directives)


指令 语法 默认值 说明 备注
RewriteEngine RewriteEngine on|off Off 开关重构引擎 默认时不能继承,故每个虚拟主机都要有自己的开关指令。
RewriteOptions RewriteOptions Option MaxRedirects=10 设置一些特殊参数 inherit:配置是否继承,MaxRedirects=number:内部重定向次数
RewriteLog RewriteLog file-path None 设定重写log文件 用RewriteLogLevel 0来禁止日志
RewriteLogLevel RewriteLogLevel Level RewriteLogLevel 0 设置日志级别 0表示没有,2以上用于debug,9及以上表示全部信息
RewriteLock RewriteLock file-path None 设置RewriteMap程序的同步锁文件 要求是本地文件,此文件只对rewriting map-program有效。
RewriteMap RewriteMap MapName MapType:MapSource Notused per default 定义重写影射 具体说明参见文档
RewriteBase RewriteBase URL-path physical directory path 设置目录范围内重写的基本URL 具体说明参见文档
RewriteCond RewriteCond TestString CondPattern None 定义规则条件 具体说明参见文档
RewriteRule RewriteRule Pattern Substitution None 定义重写规则 具体说明参见文档

参考资料:
http://httpd.apache.org/docs/mod/mod_rewrite.html
1 楼 liudaoru 2008-12-08  
Apache 重写规则的常见应用 (rewrite)

From: http://www.eygle.com/digest/2005/09/apache_oeoeooaeuooa_rewrite.html

本文出自:http://www.linuxforum.net 作者:吴阿亭 Jephe wu (2001-09-05 08:00:00)
一:目的

本文旨在提供如何用Apache重写规则来解决一些常见的URL重写方法的问题,通过常见的
实例给用户一些使用重写规则的基本方法和线索。

二:为什么需要用重写规则?
一个网站,如果是长期需要放在internet上提供服务,必定会有不断地更新和维护,如临
时转移到其它服务器进行维护,重新组织目录结构,变换URL甚至改变到新的域名等等,
而为了让客户不会因此受到任何影响,最好的方法就是使用Apache Rewrite Rule(重写
规则)。

三: 重写规则的作用范围
1) 可以使用在Apache主配置文件httpd.conf中
2) 可以使用在httpd.conf里定义的虚拟主机配置中
3) 可以使用在基本目录的跨越配置文件.htaccess中

四:重写规则的应用条件
只有当用户的WEB请求最终被导向到某台WEB服务器的Apache后台,则这台WEB服务器接受
进来的请求,根据配置文件该请求是主配置还是虚拟主机,再根据用户在浏览器中请求的
URI来配对重写规则并且根据实际的请求路径配对.htaccess中的重写规则。最后把请求
的内容传回给用户,该响应可能有两种:

1) 对浏览器请求内容的外部重定向(Redirect)到另一个URL。
让浏览器再次以新的URI发出请求(R=301或者R=302,临时的或是永久的重定向)
如:一个网站有正规的URL和别名URL,对别名URL进行重定向到正规URL,或者网站改换
成了新的域名
则把旧的域名重定向到新的域名(Redirect)

2) 也可能是由Apache内部子请求代理产生新的内容送回给客户[P,L]
这是Apache内部根据重写后的URI内部通过代理模块请求内容并送回内容给客户,而客户
端浏览器并
不知道,浏览器中的URI不会被重写。但实际内容被Apache根据重写规则后的URI得到。
如:在公司防火墙上运行的Apache启动这种代理重写规则,代理对内部网段上的WEB服务
器的请求。

五:重写规则怎样工作?
我们假定在编译Apache时已经把mod_rewrite编译成模块,确信你的httpd.conf中有
LoadModule rewrite_module libexec/mod_rewrite.so
并且在Addmodule中有
Addmodule mod_rewrite.c
则可以使用重写规则。
当外部请求来到Apache,Apache调用重写规则中的定义来重写由用户浏览器指定请求的
URI,最后被重写的URI如果是重定向,则送由浏览器作再一次请求;如果是代理则把重写
后的URI交给代理模块请求最终的内容(Content),最后把内容送回给浏览器。

六: 何时使用.htaccess中的重写规则定义?
假如你对你的的网站内容所在的服务器没有管理员权限,或者你的网站放在ISP的服务器
上托管等等条件下,你无法改写主配置文件,然而你可以对你的WEB站点内容所在的目录
有写权限,则你可以设置自己的.htaccess
文件达到同样的目的。但你需要确定主配置文件中对你的网站所在的目录定义了下面的内
容:

Options Indexes FollowSymLinks
AllowOverride all

否则你的.htaccess不会工作。

七: 应用举例
假定Apache被编译安装在主机192.168.1.56的/usr/local/apache/ 目录下面,我们编
译进了重写和代理模块。

1) 隐藏Apache下的某个目录,使得对该目录的任何请求都重定向到另一个文件。

a> httpd.conf的实现方法

我们放下面的部分到/usr/local/apache/conf/httpd.conf


options Indexes followsymlinks
allowoverride all
rewriteengine on
rewritebase /
rewriterule ^(.*)$ index.html.en [R=301]


注:rewriteengine on 为重写引擎开关,如果设为off,则任何重写规则定义将不被应
用,该开关的另一好处就是如果为了临时拿掉重写规则,则改为off再重启动Apache即
可,不必将下面一条条的重写规则注释掉。
rewritebase / 的作用是如果在下面的rewriterule定义中被重写后的部分(此处为文件
名index.html.en)前面没有/,则是相对目录,相对于这个rewritebase后面的定义也就
是/usr/local/apache/htdocs/index.html.en,否则,如果此处没有rewritebase /这
一项,则被重写成
http://192.168.1.56/usr/local/apache/htdocs/manual/index.html.en ,显然是
不正确的。

不过这里我们也可以不用rewritebase / , 而改为
rewriteengine on
rewriterule ^(.*)$ /index.html.en [R=301]
或者
rewriteengine on
rewriterule ^(.*)$ http://192.168.1.56/index.html.en [R=301]

b> .htaccess的实现方法

我们先放下面的部分到httpd.conf


options Indexes followsymlinks
allowoverride all


然后放下面的部分到/usr/local/apache/htdocs/manual/.htaccess中
rewriteengine on
rewritebase /
rewriterule ^(.*)$ index.html.en [R=301]

注:对文件.htaccess所作的任何改动不需要重启动Apache.

问:要是把这个manual目录重定向到用户jephe的自己的主目录呢?
用下面的.htaccess方案。
rewriteengine on
rewritebase /~jephe/
rewriterule ^(.*)$ $1 [R=301]

则对manual目录下任何文件的请求被重定向到~jephe目录下相同文件的请求。

2) 转换www.username.domain.com的对于username的主页请求为
www.domain.com/username

对于HTTP/1.1的请求包括一个Host: HTTP头,我们能用下面的规则集重写
http://www.username.domain.com/anypath 到 /home/username/anypath

Rewriteengine on
rewritecond %{HTTP_HOST} ^www\.[^.]+\.host\.com$
rewriterule ^(.+) %{HTTP_HOST}$1 [C]
rewriterule ^www\.([^.]+)\.host\.com(.*) /home/$1$2

注:
rewritecond 条件重写规则,当满足后面定义的条件后才会应用下面的重写规则,
rewritecond有各种变量
,请查阅相关文档。

3) 防火墙上的重写规则代理内部网段上服务器的请求。

NameVirtualhost 1.2.3.4


servername www.domain.com
rewriteengine on
proxyrequest on
rewriterule ^/(.*)$ http://192.168.1.3/$1 [P,L]


注:当外部浏览器请求www.domain.com时被解析到IP地址1.2.3.4 ,Apache 交出
mod_rewrite处理转换成
http://192.168.1.3/$1后再交由代理模块mod_proxy得到内容后传送回用户的浏览器。


4) 基本预先设定的转换MAP表进行重写 rewritemap

转换www.domain.com/{countrycode}/anypath 到Map表中规定的URI,上面是虚拟主机
中的定义

rewritelog /usr/local/apache/logs/rewrite.log
rewriteloglevel 9

rewriteengine on
proxyrequest on
rewritemap sitemap txt:/usr/local/apache/conf/rewrite.map
rewriterule ^/([^/]+)+/(.*)$ http://%{REMOTE_HOST}::$1 [C]
rewriterule (.*)::([a-z]+)$ ${sitemap:$2|http://h.i.j.k/} [R=301,L]

文件/usr/local/apache/conf/rewrite.map的内容如下:

sg http://a.b.c.d/
sh http://e.f.g.h/

注: 当用户请求http://www.domain.com/sg/anypath时被重写为
http://a.b.c.d/anypath .
当需要调试时请用rewritelog and rewriteloglevel 9联合,9为最大即得到最多的调试
信息
最小为1,最小的调试信息,默认为0,没有调试信息。
sitemap的语法是${sitemap: LookupKey | Defaultvalue} ,有些书上把$写成了%是错
误的。

相关推荐

    网站重写url伪静态工具

    ISAPI_Rewrite,ISAPI_Rewrite用来实现伪静态,将动态网页通过重写URL的方法实现去掉动态网页的参数!它的行为是像Apache的mod_Rewrite ,但专为微软的Internet信息服务( IIS )。 IIS配置相当简单,配置好之后就有...

    网站文章自动配图插件(php,适合任何cms,附伪静态规则)

    apache的伪静态 RewriteRule ^(aiimages)/(.*).png$ $1/url.php?title=$2; ngnix的伪静态 rewrite ^/(aiimages)/(.*).png$ $1/url.php?title=$2; 上面的不行就换这个: location /aiimages { rewrite ^(aiimages)/...

    按标题或关键词自动生成图片-可配置服务器端缓存

    apache的伪静态 RewriteRule ^(aiimages)/(.*).png$ $1/url.php?title=$2 ngnix的伪静态 location /aiimages { rewrite ^(aiimages)/(.*).png$ $1/url.php?title=$2 } 或者: rewrite ^/(aiimages)/(.*).png$ $1...

    金点网络原创图标在线生成器 v1.0

    金点网络原创图标在线生成器V1.0采用PHP语言编写,基于Font awesome 4.7字体...运行条件:·PHP 5.4+·Apache .htaccess (必须开启伪静态mod_rewrite)·开启函数:file_get_contents 和 file_put_contents·GD库支持

    wpsshop官方正版5.0.2 b2c 商城 thinkphp (php开源项目)

    2、支持rewrite伪静态规则 3、支持php扩展:php_curl,php_gd2,(如果配置邮箱需要添加php_openssl,php_sockets) 4、设置upload权限,因为系统上传相片生成二维码等需要上传的这个文件夹,需要设置这个文件夹以及...

    wpsshop官方正版5.0.1 thinkphp框架 手机端 pc端 官方1.9万

    2、支持rewrite伪静态规则 3、支持php扩展:php_curl,php_gd2,(如果配置邮箱需要添加php_openssl,php_sockets) 4、设置upload权限,因为系统上传相片生成二维码等需要上传的这个文件夹,需要设置这个文件夹以及...

    一套精品童装B2B网站源码

    生成HTML、URLRewrite、标签缓存、SQL缓存、页面缓存、远程附件、计划任务、数据库备份恢复、VIP会员、企业主页、二级域名、主页模板、在线充值、资金提现、产品交易、站内信、询盘、报价、关键字排名、商机收藏、...

    128uu酒店分销预订系统 PHP版 v2.1.zip

    服务器支持Rewrite,根据以下不同的情况使用不同的伪静态配置文件。 环境与配置文件的对应关系:apache使用.htaccess, iis使用http.ini,nginx使用nginx.conf。 i.如果是apache,独立服务器用户请把.htaccess文件...

    3xdoing留言本 2.0.zip

    伪静态的使用:有时我们需要用到伪静态,例如url路径为 http://您的域名/guestbook2.0/入口文件/项目目录/项目文件/key1/value1.html 这时我们需要用到U方法,首先我们需要在配置文件中加入‘rewurl’=>array(true...

    AKCMS轻量级CMS v6.1.1.zip

    AKCMS提供了丰富的优化设置,多级灵活的缓存粒度,可以缓存页面的部分数据块、子模板、完整模板、动态页面,直至生成静态页面。可支持百万PV,以最低的成本助力创业团队的起飞。 注意:请将AKCMS解压缩到一个目录中...

    php简单静态页生成过程

    一、用到的相关技术关键词:PHP, Apache, mod_rewrite (RewriteCond,RewriteRule)地址重写, ob系列函数缓冲 file_put_contents生成html 二、流程:用户发出请求url?id=x ,判断文章是否存在 (1)

    AKCMS轻量级CMS v6.0.1.rar

    AKCMS提供了丰富的优化设置,多级灵活的缓存粒度,可以缓存页面的部分数据块、子模板、完整模板、动态页面,直至生成静态页面。可支持百万PV,以最低的成本助力创业团队的起飞。 注意:请将AKCMS解压缩到一个目录中...

    图片服务器程序.rar

    图片服务器必须开启伪静态用来重定向生成没有的图片规格。 现支持的有 iis6+ISAPI_Rewrite3、apache、nginx。 图片服务器和分享服务器的时间相差不能超过30秒。 注:所有文件的修改请使用utf8编辑器,如:...

    多奥淘宝客程序 V6.2.rar

    开启伪静态功能需要服务器支持伪静态(rewrite)组件。 开启缓存需要300M 空间,不开启缓存100M空间。 后台地址/admin 后台帐号:admin 后台密码:adminadmin 后台恢复密码备用文件,文件名password.php.lock。需要...

    多奥淘宝客_淘客帝国最新版

    开启伪静态功能需要服务器支持伪静态(rewrite)组件。 开启缓存需要300M 空间,不开启缓存100M空间。 后台地址/admin 后台帐号:admin 后台密码:adminadmin 后台恢复密码备用文件,文件名password.php.lock。需要恢复...

    多奥淘客程序2011最新版本可以整合文章系统

    开启伪静态功能需要服务器支持伪静态(rewrite)组件。 开启缓存需要300M+空间,不开启缓存100M空间。 后台地址/admin 后台帐号:admin 后台密码:adminadmin 后台恢复密码备用文件,文件名password.php.lock。需要...

    店盟淘客程序

    开启伪静态功能需要服务器支持伪静态(rewrite)组件。 开启缓存需要300M+空间,不开启缓存100M空间。 后台地址/admin 后台帐号:admin 后台密码:adminadmin 后台恢复密码备用文件,文件名password.php.lock。需要...

    多奥淘宝客2012最新版

    开启伪静态功能需要服务器支持伪静态(rewrite)组件。 开启缓存需要300M+空间,不开启缓存100M空间。 后台地址/admin 后台帐号:admin 后台密码:adminadmin 后台恢复密码备用文件,文件名password.php.lock。需要...

    Nginx的WordPress配置

    WordPress是一个非常流行的Blog系统,它可以利用Apache的mod_rewrite来实现URL的静态化。安装好的WordPress在配置了持久链接之后,会在网站的根目录下(如果可写)生成一个.htaccess文件,这个文件可以指示Apache...

Global site tag (gtag.js) - Google Analytics