第一步:確認網站開啟REWRITE規則
一般有兩種情況:
i.apache安裝的時候已經包含rewrite功能
ii.后續配置的時候新添加mod_rewrite.so。這種情況需要在httpd.conf文件中修改配置啟動
在conf目錄下httpd.conf中找到
LoadModule rewrite_module modules/mod_rewrite.so
這句,去掉前邊的注釋符號“#”,或添加這句。
允許在任何目錄中使用“.htaccess”文件,將“AllowOverride”改成“All”(默認為“None”):
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
第二步:添加.htaccess文件
在本地新建文件1.txt,并寫入以下內容:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.sample.cn/$1/ [L,R=301]
此段代碼意思是將網站后面沒有加"/"的目錄都加上"/"。
說明:
* RewriteCond %{REQUEST_FILENAME} !-f : 指定操作僅針對目錄,對指向文件的url不進行rewrite操作;
* RewriteCond %{REQUEST_URI} !(.*)/$ :判斷url是否以斜杠“/”結尾;
* RewriteRule ^(.*)$ http://kayosite.com/$1/ [L,R=301] : 自動將符合上述條件的url以301跳轉重定向至以斜杠結尾的版本,比如說將“http://sample.com/fxg”重定向至 “http://kayosite.com/fxg/”,其中“L”指該行為規則的最后一行,而“R=301”則指明采用301 Redirect。當然,您在使用時應將“http://kayosite.com/”替換成自己網站的url。
將1.txt文件上傳至網站根目錄。上傳后改名為.htaccess。
【注意】.htaccess文件是Linux下特殊文件,點號前沒有任何名稱,上傳后,默認隱藏,但是可以編輯 vi .htaccess