【问题标题】:add .htaccess trailing slash添加 .htaccess 斜杠
【发布时间】:2012-01-12 06:13:57
【问题描述】:

我想在这 3 种情况下使用 .htaccess 在我的网址后面加上一个斜杠:

  1. 最后一个斜杠后的部分不包含? char
  2. 最后一个斜杠后的部分不包含. char
  3. 最后一个 url 字符不是 / 字符

我想将这些规则添加到我现有的 .htaccess 中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.* - [NC,L]
RewriteRule ^.* index.php [NC,L]

【问题讨论】:

    标签: php .htaccess web


    【解决方案1】:
    RewriteCond %{QUERY_STRING} ^$    [NC]
    RewriteRule ^((.*/)?[^/\.]+)$ /$1/ [R,L]
    

    【讨论】:

      【解决方案2】:
      RewriteRule ^(.*?[^/\?\.])$ http://example.com/$1/ [L]
      

      应该做你正在寻找的东西。只需将其添加到现有文件中的 RewriteEngine On 下方即可。

      【讨论】:

      • 问号永远不会出现在重写器的路径中。此外,他不希望在最后一个斜杠之后出现任何 .,因此不要以 . 结尾。
      • 啊,对了,忘了查询字符串位,肯定是在句号上隔开的。不过,看起来你的答案应该可以解决问题。
      猜你喜欢
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 2016-08-24
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多