第一步:确认网站开启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