Конечный слеш и начальный www - PullRequest
3 голосов
/ 14 февраля 2010

У меня есть этот 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). 1006 *

Как это можно сделать?

Спасибо!

1 Ответ

3 голосов
/ 15 февраля 2010

Я думаю, вам нужно добавить что-то подобное перед вашим последним правилом перезаписи, чтобы избежать перезаписи URI, которые уже заканчиваются на .php

RewriteCond %{REQUEST_URI} !\.php$
...