3

我有这个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)。

怎么做到呢?

谢谢!

4

1 回答 1

3

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

RewriteCond %{REQUEST_URI} !\.php$
于 2010-02-15T09:30:37.263 回答