<?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; RewriteRule-htaccess</title>
	<atom:link href="http://zhoumo123.cn/tag/rewriterule-htaccess/feed" rel="self" type="application/rss+xml" />
	<link>http://zhoumo123.cn</link>
	<description>知识分享，共同进步。zhoumo123.cn</description>
	<lastBuildDate>Thu, 07 Nov 2019 05:53:49 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.1</generator>
	<item>
		<title>RewriteRule-htaccess详细语法使用教程</title>
		<link>http://zhoumo123.cn/php/196.html</link>
		<comments>http://zhoumo123.cn/php/196.html#comments</comments>
		<pubDate>Sun, 03 Aug 2014 12:44:40 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[RewriteRule-htaccess]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=196</guid>
		<description><![CDATA[一、正则表达式教程 有一个经典的教程： 正则表达式30分钟入门教程，大家可以搜索一下。 这个教程的确很简单，看完基本上写一些简单的正则就没有问题了。正则是一个需要长期使用的工具，隔段时间不用会忘记，所以我每次都看一遍这个教程。其实学过之后重要的就是一点内容。 简单罗列如下： .换行符以外的所有字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,}重复n次或更多次 {n,m} 重复n到m次 应用替换时，前面第 ...  <a href="http://zhoumo123.cn/php/196.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p>一、正则表达式教程</p>
<p>有一个经典的教程： 正则表达式30分钟入门教程，大家可以搜索一下。<br />
这个教程的确很简单，看完基本上写一些简单的正则就没有问题了。正则是一个需要长期使用的工具，隔段时间不用会忘记，所以我每次都看一遍这个教程。其实学过之后重要的就是一点内容。</p>
<p>简单罗列如下：</p>
<p>.换行符以外的所有字符<br />
\w 匹配字母或数字或下划线或汉字<br />
\s 匹配任意的空白符<br />
\d 匹配数字<br />
\b 匹配单词的开始或结束<br />
^ 匹配字符串的开始<br />
$ 匹配字符串的结束<br />
* 重复零次或更多次<br />
+ 重复一次或更多次<br />
? 重复零次或一次<br />
{n} 重复n次<br />
{n,}重复n次或更多次<br />
{n,m} 重复n到m次</p>
<p>应用替换时，前面第一个（）中匹配的内容后面就用$1引用，第二个（）中匹配的就用$2应用……</p>
<p>分析一下 discuz搜索引擎优化 htaccess 里面的重写。</p>
<p>RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&amp;page=$2</p>
<p>首先加入用户通过 linuxidc.com/forum-2-3.html 访问discuz论坛，那么先通过.htaccess过滤，看看是否需要.htaccess引导一下用户，如果满足列出的一系列RewriteCond的 条件那么就进行重写，</p>
<p>discuz的没有列出RewriteCond 所以应该全部都进行重写。所以开始进行转写，forum-2-3.html 这个正好符合 列出的^forum-([0-9]+)-([0-9]+)\.html$ 正则表达式。并且 $1 为 2 ，$2为3 ，所以代</p>
<p>入后面，即 forumdisplay.php?fid=2&amp;page=3 加上前面的RewriteBase 指定的文件目录，那么就带他到制定目录的forumdisplay.php?fid=2&amp;page=3 。</p>
<p>二、常见的.htaccess应用举例（部分例子引自四个例子实战讲解.htaccess文件rewrite规则）</p>
<p>4.1 防止盗链，如果来得要访问jpe jpg bmp png结尾的url 用户不是来自我们的网站，那么让他看一张我们网站的展示图片。<br />
RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC]RewriteCond %{HTTP_REFERER} !^$RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]</p>
<p>4.2 网站升级的时候，只有特定IP才能访问，其他的用户将看到一个升级页面<br />
RewriteEngine onRewriteCond %{REQUEST_URI} !/upgrade.html$RewriteCond %{REMOTE_HOST} !^24\.121\.202\.30</p>
<p>RewriteRule $ http://www.linuxidc.com/upgrade.html [R=302,L]</p>
<p>4.3把老的域名转向新域名<br />
# redirect from old domain to new domainRewriteEngine OnRewriteRule ^(.*)$http://www.yourdomain.com/$1[R=301,L]</p>
<p>三、常用示例</p>
<p>RewriteEngine On<br />
RewriteRule index.html index.php</p>
<p>比如：http://www.3code.cn/index.html -&gt; http://www.3code.cn/index.php</p>
<p>RewriteRule ^test([0-9]*).html$ test.php?id=$1</p>
<p>比如：http://www.3code.cn/test8.html -&gt; http://www.3code.cn/test.php?id=8</p>
<p>RewriteRule ^cat-([0-9]+)-([0-9]+)\.html$ cat.php?id1=$1&amp;id2=$2</p>
<p>比如：http://www.3code.cn/cat-1-3.html -&gt; http://www.3code.cn/cat.php?id1=1&amp;id2=3</p>
<p>RewriteRule ^cat-([a-zA-Z0-9\-]*)-([0-9]+)-([0-9]+)\.html$ cat.php?id0=$1&amp;id1=$2&amp;id2=$3</p>
<p>比如：http://www.3code.cn/cat-zbc2ac-3-5.html -&gt; http://www.3code.cn/cat.php?id0=zbc2ac&amp;id1=3&amp;id2=5</p>
<p>RewriteRule ^cat1-([0-9]+)-([0-9]+)-([0-9]+)\.html$ cat1.php?id1=$1&amp;id2=$2&amp;id3=$3</p>
<p>比如：http://www.3code.cn/cat1-4-3-8.html -&gt; http://www.3code.cn/cat1.php?id1=4&amp;id2=3&amp;id3=8</p>
<p>RewriteRule ^cat([0-9]*)/$ cat.php?id1=$1</p>
<p>比如：http://www.3code.cn/cat5/ -&gt; http://www.3code.cn/cat.php?id1=5</p>
<p>RewriteRule ^catm([0-9]*)/([0-9]*)/$ catm.php?id1=$1&amp;id2=$2</p>
<p>比如：http://www.3code.cn/catm6/3/ -&gt; http://www.3code.cn/catm.php?id1=6&amp;id2=3</p>
<p>希望对大家有所帮助！</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/php/196.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
