Apache伪静态在网站目录没有反斜杠后自动添加反斜杠
Posted chenjian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache伪静态在网站目录没有反斜杠后自动添加反斜杠相关的知识,希望对你有一定的参考价值。
第一步:确认网站开启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.baiye5.com/$1/ [L,R=301]
此段代码意思是将网站后面没有加"/"的目录都加上"/"。
说明:
* RewriteCond %{REQUEST_FILENAME} !-f : 指定操作仅针对目录,对指向文件的url不进行rewrite操作;
* RewriteCond %{REQUEST_URI} !(.*)/$ :判断url是否以斜杠“/”结尾;
* RewriteRule ^(.*)$ http://www.baiye5.com/$1/ [L,R=301] : 自动将符合上述条件的url以301跳转重定向至以斜杠结尾的版本,比如说将“http://www.baiye5.com/wxarticle”重定向至 “http://www.baiye5.com/wxarticle/”,其中“L”指该行为规则的最后一行,而“R=301”则指明采用301 Redirect。当然,您在使用时应将“http://www.baiye5.com/”替换成自己网站的url。
将1.txt文件上传至网站根目录。上传后改名为.htaccess。
以上是关于Apache伪静态在网站目录没有反斜杠后自动添加反斜杠的主要内容,如果未能解决你的问题,请参考以下文章
php post get 繁体日文韩文时 自动添加 反斜杠 问题