尾随斜线和初始www

时间:2010-02-14 14:47:53

标签: .htaccess slash

我有这个htaccess:

  RewriteEngine On

  # redirect with www
  RewriteCond %{HTTP_HOST} ^mydomain [NC]
  RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1/ [R=301,L]

  # add .php internally
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ $1.php [L,QSA]

所以我的.php文件可以在没有.php扩展名的情况下调用。

但我希望他们只能用尾随斜线调用。因此,当没有给出这个尾随斜杠时,它应该附加一个301.我遇到的问题是这给了我初始www和.php扩展本身的问题(有时它是递归地添加.php)。 / p>

怎么做?

谢谢!

1 个答案:

答案 0 :(得分:3)

我认为您需要在上次重写规则之前添加类似的内容,以避免重写已经以.php结尾的URI

RewriteCond %{REQUEST_URI} !\.php$