.htaccess目录伪静态规则和目录排除
介绍通过.htaccess文件实现目录伪静态,同时实现目录排除。
RewriteRule ([a-z0-9A-Z_\-]+)(/)? /cunfang1/$1/ [L]
RewriteRule ([a-z0-9A-Z_\-]+)(/)? /cunfang1/$1/ [L]
RewriteCond $1 !^(DATA|images|otherThings)
将上述代码放置在第一段规则之前即可实现指定目录排除的功能。
最近在.htaccess的伪静态中遇到一些问题,下面记录一下遇到的疑问和解决的方法:
1..htaccess的伪静态规则写法
# 根目录文件夹访问伪静态到cunfang1下
RewriteRule ^([a-z0-9A-Z_\-]+)(/)?$ /cunfang1/$1/ [L]
上面的规则可以将所有针对网站根目录下文件夹的访问,伪静态到cunfang1下面的对应文件夹。
2.排除某些目录,让第一条规则无法对其产生作用,比如网站根目录下的/DATA、/images等等。
# 根目录文件夹访问排除规则
RewriteCond $1 !^(DATA|images|otherThings)
将上述代码放置在第一段规则之前即可实现指定目录排除的功能。
- RewriteCond $1 !^(templets|gamesearch|plus|upimg|css)
- RewriteRule /([a-z0-9A-Z_\-]+)(/)? /plus/search.php?keyword=$1 [L]
- RewriteCond %{REQUEST_URI} !^/1.html
- RewriteCond %{REQUEST_FILENAME} !\.(html)$
- RewriteCond %{REQUEST_FILENAME} !\.(xml)|.(html)$
- RewriteCond %{REQUEST_URI} !^/1.html|robots.txt
-
- RewriteCond %{HTTP_HOST} ^aaa\.com$ [NC]
- RewriteRule ^(.*)$ http://bbb.com/$1 [R=301,L]
复制代码