1. 程式人生 > >.htaccess目錄偽靜態規則和目錄排除

.htaccess目錄偽靜態規則和目錄排除

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]