【问题标题】:.php ending up in rewritten url after adding trailing slash.php 在添加斜杠后以重写的 url 结尾
【发布时间】:2014-07-23 19:48:06
【问题描述】:

我在尝试向不存在的文件添加尾部斜杠时遇到问题。这是我的重写规则

# remove www from url
RewriteCond %{HTTP_HOST} ^www.goautohub.com [NC]
RewriteRule ^(.*)$ http://goautohub.com/$1 [L,R=301]

#rewrite news/article name
RewriteRule ^news/([^/]*)/$ news.php?viewnews=$1 [NC,L]


#remove index from url
RewriteRule ^index\.php/?$ / [L,R=301,NC]

#remove php from url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

我现在唯一想做的就是重写这个网址

/news/mustang-cobra-model-highlights

/news/mustang-cobra-model-highlights/

如果我使用类似的东西

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

我从Force trailing slash at end of rewritten query string 发现它有效,但它搞砸了我所有其他的,因为已经有一个斜线。它增加了什么

/.php/ 到最后。

我想我需要一种方法将其限制在新闻页面,但我似乎无法正确地制定规则。

【问题讨论】:

    标签: regex .htaccess mod-rewrite url-rewriting seo


    【解决方案1】:

    以下重写规则应该有效:

    RewriteRule ^/news/(.*)/$ /news/$1 [NC,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      相关资源
      最近更新 更多