之前做的一个站,用了重写实现了伪静态,今天想加一个博客的功能,但发现了一个问题,之前做的重写把“(\w)/”进行重写了,而现在/blog/也打不开了,因为系统没有把/blog/当成对一个文件夹的访问,而是作为了重写里的一个参数,对重写本来就战战兢兢的我,搜了半天终于找到了一个办法,记录下来,备忘一下:
# 不重写subdirectory目录
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/subdirectory/(.*)$
RewriteRule ^.*$ - [L]
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
再多加一个例子:
# 不转发带google前缀的目录或文件
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/google(.*)$
RewriteRule ^.*$ - [L]
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
以上就介绍了关于重写的一个问题,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。