htaccess, как я могу использовать сжатие gzip + скрыть расширения .html? - PullRequest
0 голосов
/ 06 февраля 2012

Я использую 1and1 и следую этому руководству, чтобы сжать как можно большую часть своего веб-сайта:

http://mrrena.blogspot.com/2009/01/how-to-compress-php-and-other-text.html?showComment=1328550165472#c3296286447260746640

Ранее я также использовал свой htaccessфайл, чтобы скрыть расширения .html каждой веб-страницы.Теперь, когда я применил новый код для сжатия всего, направив его через php, я больше не скрываю html-расширения, и многие из моих веб-ссылок впоследствии нарушаются.Вот копия моего файла htaccess.

Header unset Pragma
FileETag None
Header unset ETag

# cache images/pdf docs for 10 days
<FilesMatch "\.(ico|pdf|jpg|jpeg|png|gif|css)$">
  Header set Cache-Control "max-age=864000, public, must-revalidate"
  Header unset Last-Modified
</FilesMatch>

# cache html/htm/xml/txt diles for 2 days
<FilesMatch "\.(html|htm|xml|txt|xsl)$">
  Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>

# tells the server to process all the file extensions specified through PHP5 for compression purposes
RemoveHandler .css
AddType x-mapp-php5 .php .shtml .html .htm .txt .js .css .ttf .svg .woff

#
Options +FollowSymLinks
RewriteEngine On
#
# REDIRECT /folder/index.html to /folder/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.html\ HTTP/
RewriteRule ^(([^/]+/)*)index\.html$ http://weaverinnovations.com/$1 [R=301,L]
#

Подобные вещи выходят далеко за рамки моей компетенции, и любая помощь, а также объяснение того, как обойти конфликт, были бы очень благодарны.

Спасибо!

1 Ответ

0 голосов
/ 07 февраля 2012

Производительность

Подобные вещи выходят далеко за рамки моей компетенции, ...

Ну, в этом случае, я бы "сделал это просто глупо",Я, наверное, больше знаю о недрах этого.Использование PHP в качестве оболочки для статических файлов добавляет ~ 100 мсек при каждом доступе к файлу и не хорошая идея.

Если вы хотите получить советы по настройке приложения на отзывчивость, взгляните на теги моего блога Webfusion и Производительность , в которых даются очень конкретные рекомендации по настройке.для этого хостинг-провайдера.Мой блог работает на той же хостинговой инфраструктуре (Webfusion - это просто еще одна торговая марка в той же компании). Вы увидите, что у меня показатель Google Pagespeed 99/100, что так же хорошо, как на домашней странице Google, поэтому я сомневаюсь, что выулучшу это.(Ваш сейчас 56/100).Мои текущие правила:

AddType image/x-icon .ico
ExpiresActive On
ExpiresByType text/css        "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType image/x-icon    "access plus 1 month"
ExpiresByType image/jpeg      "access plus 1 week"
ExpiresByType image/gif       "access plus 1 week"
ExpiresByType image/png       "access plus 1 week"

<Files "sitemap.*">
   ForceType text/xml
</Files>

<Files "rss*">
   ForceType text/xml
</Files>

AddOutputFilter DEFLATE js css
AddOutputFilterByType DEFLATE text/html text/plain test/css text/xml application/xml

<FilesMatch "\.(css|js|gif|jpe?g|png|pdf)$">
   Header add "Cache-Control" "public, max-age=604800"
</FilesMatch>

<FilesMatch "\.(js|css|xml|html)$">
   Header append Vary Accept-Encoding
</FilesMatch>

Использование директивы must revalidate не рекомендуется, если у вас есть оболочка PHP для статических файлов, особенно в службе общего хостинга, поскольку вы все равно платите за запуск образа PHPштрафы и вам нужно обработать If-Modified-Since и If-None-Match запросить заголовки и правильно выдать ответ 304.

HTML-ссылки повреждены

Это действительно помогает, если вы задаете один вопрос на вопрос, а не два.Можете ли вы более подробно описать, какие веб-ссылки «нарушены», приведя некоторые конкретные примеры до и после, тогда, возможно, мы сможем дать конкретный ответ.

...