怎麼讓nginx支持.htaccess文件

在網上查到的資料很多人都說nginx目前不支持.htaccess文件,簡直是扯淡...
nginx完全可以支持.htaccess文件,請按如下操作:
1、新建一個.htaccess文件,在裏面輸入規則,如本站的規則:

# nginx rewrite rule
rewrite ^(.*?)/article/.*?-(\d+)-(\d+)\.html$ $1/show.html?id=$2&page=$3 break;
rewrite ^(.*?)/category/.*?-(\d+)-(\d+)\.html$ $1/list.html?id=$2&page=$3 break;
rewrite ^(.*?)/tag/([^/]+)/?$ $1/tag.html?w=$2 break;
rewrite ^(.*?)/tag/([^/]+)/(\d+)$ $1/tag.html?w=$2&page=$3 break;
# end nginx rewrite rule
保存文件並上傳到網站的根目錄。
2、修改虛擬主機配置

# ee /usr/local/etc/nginx/nginx.conf #freebsd 7.2默認nginx默認安裝的配置文件
在你需要添加僞靜態的虛擬機中的server塊中引入.htaccess文件

include /usr/www/.htaccess #請把這個改成你.htaccess文件的位置,
保存、退出重啓nginx

# /usr/local/etc/rc.d/nginx restart
刷新看看,如果能正常器從證明你的rewrite rule的語法是正確

nginx的rewrite規則您可以直接放在主機配置中也可以放在獨立的文件用includeinru,存爲獨立的文件時,保存到一個新的文件(文件名可以任意取,不過建議還是用.ht(注意有個“點”)開頭的文件名,因爲這個服務器裏面默認過濾了外部對.ht開頭的文件訪問:

location ~ /\.ht {
deny all;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章