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 自动添加反斜杠功能

为啥 json_encode 添加反斜杠?

python字符串格式中自动添加的反斜杠,pycharm

php post get 繁体日文韩文时 自动添加 反斜杠 问题

有没有办法在Visual Studio中复制/粘贴时自动转义反斜杠?

Environment.SystemDirectory获得的路径没有反斜杠