<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>免费屋·免费资源共享中心 &#187; htaccess</title>
	<atom:link href="http://free5.org/tag/htaccess/feed/" rel="self" type="application/rss+xml" />
	<link>http://free5.org</link>
	<description>免费域名注册,解析,停靠;免费空间;免费代码;免费邮箱等免费资源的分享中心和集散地</description>
	<lastBuildDate>Wed, 09 May 2012 14:37:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>.htaccess文件之rewrite规则实例</title>
		<link>http://free5.org/2010/06/28/htaccess-file-of-the-rewrite-rule-instance/</link>
		<comments>http://free5.org/2010/06/28/htaccess-file-of-the-rewrite-rule-instance/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 11:36:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[host]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[rewriterule]]></category>
		<category><![CDATA[建站经验]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://free5.org/?p=1115</guid>
		<description><![CDATA[.htaccess文件相信大家都不陌生吧，不过网上关于.htaccess编写方法的教程很有限，也没有几个完全是博主自己写的。 我在这里就搜了几个常用规则，总结一下rewrite规则的用法。当然这只是.htaccess功能的一小部分，但是相当实用。 如果熟练掌握rewrite规则的编写，能够加强对网站URL的控制，对用户体验、SEO都十分有利。（注：所有规则来源于网络） 一、防盗链功能 RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*.(jpe?g&#124;gif&#124;bmp&#124;png)$ /images/nohotlink.jpg [L] 1.打开Rewrite功能。有可能服务器设置里已经是全局下打开了，但是多写也没事。 2.RewriteCond指令，定义生效条件，用于寻找匹配条件的地址。后面内容用正则表达式匹配。代表含义是发送的请求不由mysite.com而来，那就是盗链啦。末尾的[NC]代表忽略大小写。 3.发送请求的主机前缀不为空。 4.RewriteRule指令，定义重写规则，把匹配的地址按此规则重写。本例中把这些后缀为这些图片格式的，都替换到某一个图片下。[L]表示这是最后一段规则。 在此再这里总结一下几个常用参数： RewriteCond下： [NC]  不分字母大小写 [OR]  用于连接下一条规则 RewriteRule下： [R] 强制重定向，[R=code] code默认为302 [F] 禁用URL，返回HTTP 403 错误 [L] 这是最后一条规则，之后内容无用 还有一篇关于正则表达式的教程（很详细）：http://www.unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm 二、网址规范化 Options +FollowSymLinks rewriteEngine on rewriteCond %{http_host} ^yourdomain.com [NC] rewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L] 这个是把所有二级域名都重定向到www.yourdomain.com的例子，看起来是不是很简单？ 需要注意的是，这里的Options +FollowSymLinks不是必须的，但在某些服务器如果不设置FollowSymLinks，可能引起500错误。再来看一个好玩的重定向： RewriteEngine [...]]]></description>
			<content:encoded><![CDATA[<p>.htaccess文件相信大家都不陌生吧，不过网上关于.htaccess编写方法的教程很有限，也没有几个完全是博主自己写的。<br />
我在这里就搜了几个常用规则，总结一下rewrite规则的用法。当然这只是.htaccess功能的一小部分，但是相当实用。<br />
如果熟练掌握rewrite规则的编写，能够加强对网站URL的控制，对用户体验、SEO都十分有利。（<em>注：所有规则来源于网络）</em></p>
<p><strong>一、防盗链功能<br />
</strong>RewriteEngine On<br />
RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC]<br />
RewriteCond %{HTTP_REFERER} !^$<br />
RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]</p>
<p><em><strong><span id="more-1115"></span>1.</strong></em>打开Rewrite功能。有可能服务器设置里已经是全局下打开了，但是多写也没事。</p>
<p><em><strong>2.</strong></em>RewriteCond指令，定义生效条件，用于寻找匹配条件的地址。后面内容用正则表达式匹配。代表含义是发送的请求不由mysite.com而来，那就是盗链啦。末尾的[NC]代表忽略大小写。</p>
<p><em><strong>3.</strong></em>发送请求的主机前缀不为空。</p>
<p><em><strong>4.</strong></em>RewriteRule指令，定义重写规则，把匹配的地址按此规则重写。本例中把这些后缀为这些图片格式的，都替换到某一个图片下。[L]表示这是最后一段规则。</p>
<p>在此再这里总结一下几个常用参数：</p>
<p>RewriteCond下：</p>
<p>[NC]  不分字母大小写</p>
<p>[OR]  用于连接下一条规则</p>
<p>RewriteRule下：</p>
<p>[R] 强制重定向，[R=code] code默认为302</p>
<p>[F] 禁用URL，返回HTTP 403 错误</p>
<p>[L] 这是最后一条规则，之后内容无用</p>
<p>还有一篇关于正则表达式的教程（很详细）：<a href="http://www.unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm">http://www.unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm</a></p>
<p><strong>二、网址规范化<br />
</strong>Options +FollowSymLinks<br />
rewriteEngine on<br />
rewriteCond %{http_host} ^yourdomain.com [NC]<br />
rewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]</p>
<p>这个是把所有二级域名都重定向到<a href="http://www.yourdomain.com">www.yourdomain.com</a>的例子，看起来是不是很简单？</p>
<p>需要注意的是，这里的Options +FollowSymLinks不是必须的，但在某些服务器如果不设置FollowSymLinks，可能引起500错误。再来看一个好玩的重定向：</p>
<p>RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{HTTP_USER_AGENT} (Googlebot)<br />
RewriteRule ^ http://abc.com/ [R=301,L]</p>
<p><em><strong>1.</strong></em>打开Rewrite功能。</p>
<p><em><strong>2.</strong></em>RewriteBase指令，设置目录级重写的基准URL。可以理解成把该目录（这个<a title="标签 .htaccess 下的日志" rel="tag nofollow" href="http://www.ttjs.org/tag/htaccess">.htaccess</a>所在目录）假定为基准的URL前缀。本例中这样的写法无用。</p>
<p><strong><em>3.</em></strong>RewriteCond指令。匹配所有USER_AGENT为Googlebot的发送请求。</p>
<p><em><strong>4.</strong></em>RewriteRule指令。本例中把这些请求都重定向到了abc.com。</p>
<p>在本例中，这个配置应该是黑客所为，把google蜘蛛指向某个网站，等于伪造PR。</p>
<p><strong>三、临时错误页面</strong></p>
<p>当你的网站在升级、修改的时候，你最好让访客转到指定的页面，而不是没做完的页面或者是错误页。这时我们做一个302转跳就OK啦。</p>
<p>RewriteEngine on<br />
RewriteCond %{REQUEST_URI} !/maintenance.html$<br />
RewriteCond %{REMOTE_ADDR} !^123.123.123.123<br />
RewriteRule $ /error.html [R=302,L]</p>
<p><strong><em>1.</em></strong>继续打开Rewrite功能。 – -|</p>
<p><em><strong>2.</strong></em>REQUEST_URI，请求的URL值。这里指所有访问 maintenance.html页面的请求。</p>
<p><strong><em>3.</em></strong>REMOTE_ADDR，向服务器发送请求的IP地址。本例中此处应设为你自己的 IP，这样就只有你能访问。</p>
<p><em><strong>4.</strong></em>RewriteRule指令。本例中把这些请求都重定向到了error.html 。</p>
<p>在本例，我们总结几个常用的正则表达式和特殊符号。</p>
<p>(.*) 用于匹配某一区域内所有内容。如 abc/def/ghi 可用 (.*)/(.*)/(.*) 匹配。</p>
<p>([a-zA-Z_]+) 匹配英文单词，允许用-和_连接。</p>
<p>([0-9]+) 匹配多位数字，通常用于匹配ID。</p>
<p>([0-9]) 只匹配一位的数字。</p>
<p>^ 表示正则的开始</p>
<p>$ 表示正则的结束</p>
<p><strong>四、重定向WordPress的RSS Feed链接地址到Feedburner地址</strong></p>
<p>除了可以更改模板里的RSS地址外，.htaccess也能实现RSS地址的更改，并更加方便。</p>
<p>RewriteEngine on<br />
RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]<br />
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]<br />
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/yourname [R=302,NC,L]</p>
<p>有了上面的总结，本例其实就很简单了吧。</p>
<p>唯一要注意的是这样操作要确保填写正确的HTTP_USER_AGENT。其实你不常换模板的话。。可能还是直接改模板更省事。</p>
<p>在最后，为懒虫们推荐几个好东东：</p>
<p><strong>在线.htaccess生成器</strong>：<a href="http://www.htaccesseditor.com/sc.shtml">htaccessEditor</a></p>
<p><strong>在线正则表达式检查器</strong>：<a href="http://www.sman.cn/Blog/attachments/month_0711/320071117123354.html">http://www.sman.cn/Blog/attachments/month_0711/320071117123354.html</a></p>
<p><strong>mod_rewrite模块中文参考手册</strong>：<a href="http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/mod/mod_rewrite.html">http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/mod/mod_rewrite.html</a></p>
<p>其实rewrite也只是APACHE一个模块而已，做到边查边写足矣，实在不行直接去搜一个规则也未尝不可。不过其中的正则表达式还是非常实用的，值得深入学习。</p>
]]></content:encoded>
			<wfw:commentRss>http://free5.org/2010/06/28/htaccess-file-of-the-rewrite-rule-instance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用.htaccess实现域名指向子目录功能</title>
		<link>http://free5.org/2010/02/10/use-htaccess-domain-pointing-to-a-subdirectory-to-achieve-functional/</link>
		<comments>http://free5.org/2010/02/10/use-htaccess-domain-pointing-to-a-subdirectory-to-achieve-functional/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 04:53:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress经验]]></category>
		<category><![CDATA[建站经验]]></category>
		<category><![CDATA[Cpanel]]></category>
		<category><![CDATA[domain parking]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[host]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[rewriterule]]></category>
		<category><![CDATA[WordPress插件]]></category>
		<category><![CDATA[Wordpress经验]]></category>
		<category><![CDATA[域名停靠]]></category>
		<category><![CDATA[建站工具]]></category>
		<category><![CDATA[环境搭建]]></category>

		<guid isPermaLink="false">http://free5.org/?p=1030</guid>
		<description><![CDATA[我购买的webhostingpad空间虽然支持Parked Domains（域名停靠）功能，但停靠的域名只能指向网站根目录即主域名（如我的http://roadh.net），如果想将域名（如http://xyc.pp.ru)停靠到我在此空间上建立的子网站（通过Addon Domains功能建立）（如http://xya.in）上，单靠cpanel控制面板提供的功能是无法实现的，好在该空间支持.htaccess文件重写功能，现就将实现方法介绍如下： 1、首先在xyc.pp.ru的dns中将其cname到xya.in上； 2、编辑网站根目录下.htaccess文件，添加如下内容： RewriteEngine on #让xyc.pp.ru 访问xya.in目录xya.in网站 RewriteCond %{HTTP_HOST} ^xyc.pp.ru$ RewriteCond %{REQUEST_URI} !^/xya.in/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /xya.in/$1 RewriteCond %{HTTP_HOST} ^xyc.pp.ru$ RewriteRule ^(/)?$ xya.in/index.php [L] 保存即可将xyc.pp.ru指向xya.in子网站（xya.in子网站的子目录名为：xya.in）。 由于我的xya.in网站为wordpress博客，若仅进行如上设置还不能很好的支持多域名访问该网站，此时需要在WordPress后台增加PS WP Multi Domain插件并启用即可正常使用xya.in和xyc.pp.ru同时访问该网站！]]></description>
			<content:encoded><![CDATA[<p>我购买的webhostingpad空间虽然支持Parked Domains（域名停靠）功能，但停靠的域名只能指向网站根目录即主域名（如我的<a href="http://roadh.net" target="_blank">http://roadh.net</a>），如果想将域名（如<a href="http://xyc.pp.ru">http://xyc.pp.ru</a>)停靠到我在此空间上建立的子网站（通过Addon Domains功能建立）（如<a href="http://xya.in">http://xya.in</a>）上，单靠cpanel控制面板提供的功能是无法实现的，好在该空间支持.htaccess文件重写功能，现就将实现方法介绍如下：</p>
<p>1、首先在xyc.pp.ru的dns中将其cname到xya.in上；</p>
<p>2、编辑网站根目录下.htaccess文件，添加如下内容：</p>
<p><span id="more-1030"></span>RewriteEngine on</p>
<p>#让xyc.pp.ru 访问xya.in目录xya.in网站</p>
<p>RewriteCond %{HTTP_HOST} ^xyc.pp.ru$<br />
RewriteCond %{REQUEST_URI} !^/xya.in/<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule ^(.*)$ /xya.in/$1<br />
RewriteCond %{HTTP_HOST} ^xyc.pp.ru$<br />
RewriteRule ^(/)?$ xya.in/index.php [L]</p>
<p>保存即可将xyc.pp.ru指向xya.in子网站（xya.in子网站的子目录名为：xya.in）。</p>
<p>由于我的xya.in网站为wordpress博客，若仅进行如上设置还不能很好的支持多域名访问该网站，此时需要在WordPress后台增加PS WP Multi Domain插件并启用即可正常使用xya.in和xyc.pp.ru同时访问该网站！</p>
]]></content:encoded>
			<wfw:commentRss>http://free5.org/2010/02/10/use-htaccess-domain-pointing-to-a-subdirectory-to-achieve-functional/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

