新网更换到windows全能型主机后出现.woff2文件报404错误问题,影响页面加载时间。经查阅资料为IIS不识别文件类型导致的。解决方法如下:
在新网主机控制台:网站设置》MINE映射,输入:
.woff2_application/x-font-woff
点击“添加”按钮即可解决。
新网更换到windows全能型主机后出现.woff2文件报404错误问题,影响页面加载时间。经查阅资料为IIS不识别文件类型导致的。解决方法如下:
在新网主机控制台:网站设置》MINE映射,输入:
.woff2_application/x-font-woff
点击“添加”按钮即可解决。
1.在所在子目录(如本例中的/wiki/目录)创建Web.config文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rule 1t" stopProcessing="true">
<match url="^/wiki/(?!static).*$" />
<action type="Rewrite" url="/wiki/library/{R:1}" appendQueryString="true" />
</rule>
<rule name="rule 2t" stopProcessing="true">
<match url="^(?!static).*$" />
<action type="Rewrite" url="/wiki/index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
2.修改views/render.php文件25行和35行进行文件名编码转换避免出现乱码:
$path[] = iconv("GBK", "UTF-8", $part);
echo iconv("GBK", "UTF-8", $part);
\b\w{6}\b //匹配刚好6个字符的单词
windows\d+ //windows后面带至少一位数字,如windows7/windows98/windows2000
^\w+ //从开头开始的第一个单词
\S+ //匹配不包含空白符的字符串。
<a[^>]+> //匹配用尖括号括起来的以a开头的字符串,不包括<a>
字符 | 含义(作用) |
---|---|
\b | 单词的开头或结尾 |
^ | 匹配用来查找的字符串的开头 |
$ | 匹配用来查找的字符串的结尾 |
. | 匹配除了换行符以外的任意字符 |
* | 指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配 |
.* | 任意数量的不包含换行的字符 |
\d | 一位数字 |
\d{n} | n位数字 |
\d{m,n} | 最少m位,最多n位的数字 |
? | 重复0次或1次 |
\d+ | 匹配1个或更多连续的数字。这里的+是和类似的元字符,不同的是匹配重复任意次(可能是0次),而+则匹配重复1次或更多次 |
\s | 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等 |
\w | 匹配字母或数字或下划线或汉字等 |
\. | 匹配句点. |
\* | 匹配星号* |
[] | 匹配括号里面的任意字符 |
[aeiou] | 匹配元音字母a或e或i或o或u |
[?.!] | 匹配标点符号?.! |
[0-9] | 等同d:一位数字 |
[a-z0-9A-Z_] | 完全等同于w(如果只考虑英文的话) |
\丨 | 或者(表示分支条件) |
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
\b(\w+)\bs+\1\b可以用来匹配重复的单词,像go go, 或者kitty kitty。这个表达式首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字(\b(\w+)\b),这个单词会被捕获到编号为1的分组中,然后是1个或几个空白符(\s+),最后是分组1中捕获的内容(也就是前面匹配的那个单词)(\1)。
你也可以自己指定子表达式的组名。要指定一个子表达式的组名,请使用这样的语法:(?<Word>w+)(或者把尖括号换成'也行:(?'Word'\w+)),这样就把w+的组名指定为Word了。要反向引用这个分组捕获的内容,你可以使用\k<Word>,所以上一个例子也可以写成这样:\b(?<Word>\w+)\b\s+\k<Word>\b。
使用小括号的时候,还有很多特定用途的语法。下面列出了最常用的一些:
分类 | 代码/语法 | 说明 |
---|---|---|
捕获 | (exp) | 匹配exp,并捕获文本到自动命名的组里 |
(?<name>exp) | 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp) | |
(?:exp) | 匹配exp,不捕获匹配的文本,也不给此分组分配组号 | |
零宽断言 | (?=exp) | 匹配exp前面的位置 |
(?<=exp) | 匹配exp后面的位置 | |
(?!exp) | 匹配后面跟的不是exp的位置 | |
(?<!exp) | 匹配前面不是exp的位置 | |
注释 | (?#comment) | 这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读 |