今天遇到一个客户的网站做伪静态,他自己做了之后页面错乱,没有样式表加载,我们看了之后原来是把所有的文件都映射给首页index.php了,所以不行。原来的伪静态规则是这样的:
location / { if (-f $request_filename) { break; } if ($request_filename ~* ".(js|ico|gif|jpe?g|bmp|png|css)$") { break; } if (!-e $request_filename) { rewrite . /index.php last; } }但这个是nginx的。
如果转成IIS的时候,就会遇到所有文件全部映射到首页,是不行的。思路就是:把真实存在的文件,不要进行伪静态。规则如下:
<?xml version="1.0" ?> <rules> <rule name="yys1_rewrite" stopProcessing="true"> <match url=".*"/> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/> </conditions> <action type="Rewrite" url="index.php"/> </rule> </rules>这样做了之后,立马就好了。注意:要清除一下浏览器缓存再看。完美!
还没有人来评论,快来抢个沙发吧!