HTML5 Boilerplate .htaccess переписать в index.php - PullRequest
2 голосов
/ 09 ноября 2011

Мой вопрос:

, если я добавлю следующий код в конец файла .htaccess HTML5 Bilerplate

<IfModule mod_rewrite.c>
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^ index.php [L]
</IfModule>

, это отправит все REQUEST_URI в мой index.php, поэтому яможет обработать их, но нарушит ли это некоторые правила из файла .htaccess, уже определенного выше?И если это неправильно, что следует добавить?

1 Ответ

0 голосов
/ 09 ноября 2011

Правила, которые вы опубликовали выше, уже присутствуют в шаблоне .htaccess HTML5 (под заголовком # Built-in filename-based cache busting)

# Uncomment to enable.
# <IfModule mod_rewrite.c>
#   RewriteCond %{REQUEST_FILENAME} !-f
#   RewriteCond %{REQUEST_FILENAME} !-d
#   RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
# </IfModule>

Вы можете раскомментировать их, удалив символ «#» в началекаждая строка.И измените 5-ю строку, чтобы разрешить ваше правило для favicon.ico:

RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif|ico)$ $1.$3 [L]

Редактировать: Чтобы перенаправить все запросы на index.php, я изменил правила в # Suppress or force the "www." at the beginning of URLs втаким образом:

<IfModule mod_rewrite.c>
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
  RewriteCond %{REQUEST_FILENAME} !^(.+)\.(js|css|png|jpg|gif|ico)$
  RewriteRule ^(.*)$ index.php [NC]
</IfModule>

Обычно вы должны поместить свои собственные правила в начало файла .htaccess перед другими правилами, а не после них.

...