首页 » 网站建设 »

详解WordPress网站根目录下的.htaccess文件

2015年6月18日 / 271次阅读
WordPress

打开支付宝首页,搜索“529018372”,即可领取红包!可重复领。

特色图片

使用WordPress建站,设置了固定链接格式之后,在网站的根目录,会自动生成一个.htaccess文件,这个文件的内容如下:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

 

<IfModule mod_rewrite.c>表示配置Apache的Rewrite模块;

RewriteEngine On,打开Rewrite模块;

RewriteBase /,设置根路径为顶层路径;(比如本博的域名是www.maixj.net,那么根路径就是www.maixj.net/)

RewriteRule ^index\.php$ - [L],如果收到的访问地址是index.php,则跳过(-的含义),直接使用这个地址,然后结束,不再执行后面的规则;[L]表示结束。(比如,用户访问www.maixj.net/index.php)

RewriteCond %{REQUEST_FILENAME} !-f, 如果访问地址不是文件;这里%REQUEST_FILENAME就是URL指向的地址,!表示非,!-f就是不是文件的意思;

RewriteCond %{REQUEST_FILENAME} !-d,如果访问地址不是目录;d表示文件系统的目录;

如果以上两个条件都满足,才能到最后一条规则,否则就不能到达最后一条规则,也就是不能正常访问网站的页面。这个时候浏览器会显示什么,要看Apache的配置(httpd.conf里面的配置),很可能是一个禁止访问的页面。

RewriteRule . /index.php [L],这句话的含义,匹配任意非换行符,地址改写为index.php,然后结束。这表示,我们访问任何WordPress网站的页面,都是要从index.php进入。

以上用到一些正则表达式的知识:

^:表示匹配字符串的开始;

$:表示匹配字符串的结尾;

.:表示匹配任意一个非换行字符。

 

去年10月份我在研究WordPress网站自动支持顶级域名301重定向到www二级域名,那个时候还看不懂这个.htaccess文件,今天我终于看懂了。

这个文件的配置不复杂,不管浏览器段输入的网址是什么,只要解析到网站服务器(顶级域名也要做DNS解析),都是从网站根下面的index.php开始访问。这是WordPress默认的行为方式,不过,这种方式比较消耗资源,做WordPress网站优化,一般都要改变这种方式。这个以后在慢慢写吧。

本文链接:http://www.maixj.net/wz/wordpress-htaccess-6776
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

栏目

支付宝红包.每天领一次.

支付宝扫码领红包

©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top