Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Проверка на ошибки .htaccess


Recommended Posts

Всем доброго воскресного дня

 

Решил прогнать сайт через NetPeak Spider на наличие пробелов в работе сайта, битых ссылок и тд. В ответ он выдает критическую ошибку редиректа с http на https, по https ответ NULL.

Сайт доступен, при прогоне на ответ сервера в вебмастере отвечает что все гут, с Джет Кешем время 260 сек. Не могу понять в чем проблема. Возможно неверно настроен .htaccess? Прошу опытных коллег помочь, ибо в php и настройках серверов не силен.

 

Ниже привожу текст .htaccess

 

ServerSignature Off
# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /

RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
#RewriteRule ^page/([^/\.]+)/?$ page=$1 [L]
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{REQUEST_URI} ^(.*[^/])//+(.*)$
RewriteRule . %1 [R=301,L]


### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200
php_value memory_limit 250M
# 7. disable open_basedir limitations
# php_admin_value open_basedir none

### Display PHP errors
### Uncomment the commands by removing the # sign in front of it.
# php_flag display_startup_errors on
# php_flag display_errors on
# php_flag html_errors on
# php_flag track_errors on
# php_value error_reporting "E_ALL"

### Сжать ответ сервера для перечисленных MIME типов
#<ifModule mod_deflate.c>
#  <IfModule mod_filter.c>
#      AddOutputFilterByType DEFLATE text/plain text/html
#      AddOutputFilterByType DEFLATE text/css
#      AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
#      AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml application/rss+xml
#      AddOutputFilterByType DEFLATE application/json
#      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon
#  </ifModule>
#</ifModule>


<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

### Способ #1
### Подсказать браузеру схему кеширования через заголовки в ответе сервера
<ifModule mod_headers.c>
    # 43200 - день, 604800 - неделя, 2592000 - месяц
    <FilesMatch "\.(html|js|css)$">
    Header set Cache-Control "max-age=2592000"
        #Header unset Last-Modified
    </FilesMatch>
    <Files *.txt>
    Header add Cache-Control "max-age=43200"
    </Files>
    <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
    Header set Cache-Control "max-age=2592000"
    </FilesMatch>
    <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
    # отключить кэширование
    Header unset Cache-Control
    </FilesMatch>
</IfModule>

### Способ #2
### Подсказать браузеру схему кеширования через заголовки в ответе сервера
<IfModule mod_expires.c>
    # Enable expires
    ExpiresActive On

    # Default a cache expiration
    ExpiresDefault "access plus 10 month"

    # Images
    ExpiresByType image/gif                 "access plus 1 month"
    ExpiresByType image/png                 "access plus 1 month"
    ExpiresByType image/jpg                 "access plus 1 month"
    ExpiresByType image/jpeg                "access plus 1 month"

    # CSS, JavaScript
    ExpiresByType text/css                  "access plus 1 year"
    ExpiresByType application/javascript    "access plus 1 year"
    ExpiresByType text/javascript           "access plus 1 year"
</IfModule>


### Удалить заголовок ETag (иначе есть проблемы с кешированием при включенном сжатии)
<IfModule mod_headers.c>
    Header unset ETag
</IfModule>
FileETag None

 

 

Надіслати
Поділитися на інших сайтах


@Gusev день добрый. просто любопытно, у вас стоит вот этот редикрект:

 

RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

 

он режет множественные слеши в url вида, в т.ч. такие:

https://domain.ru//////category/tovar -> https://domain.ru/category/tovar

 

Можете проверить, у вас страница https://domain.ru//////category/tovar в я.вебмастере или других сервисах по проверке ответа сервера какой код отдает? 200 или 301?

Просто у себя так и не смог корректно на такие страницы ответ сервера 301 проставить с этим условием, хотя в правиле вроде все чётко прописано и редирект сам корректно отрабатывает.

Надіслати
Поділитися на інших сайтах


@Gusev рекомендую удалить данный блок из htaccess:

RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

Иначе у вас некорректно внешние ссылки, например, с я.маркета, будут обрабатываться вида: https:/domen.ru/category/tovar?frommarket=http://market.yandex.ru/partner

При заходе на такую ссылку будет ошибка: ERR_TOO_MANY_REDIRECT

Надіслати
Поділитися на інших сайтах


  • 1 month later...
В 16.04.2018 в 14:53, Justveryhappy сказал:

@Gusev день добрый. просто любопытно, у вас стоит вот этот редикрект:

 

RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

 

он режет множественные слеши в url вида, в т.ч. такие:

https://domain.ru//////category/tovar -> https://domain.ru/category/tovar

 

Можете проверить, у вас страница https://domain.ru//////category/tovar в я.вебмастере или других сервисах по проверке ответа сервера какой код отдает? 200 или 301?

Просто у себя так и не смог корректно на такие страницы ответ сервера 301 проставить с этим условием, хотя в правиле вроде все чётко прописано и редирект сам корректно отрабатывает.

Привет! Проверил, ответ 200, что несколько странновато, ибо браузер редиректит как надо..Вам удалось решить эту проблему?

Надіслати
Поділитися на інших сайтах


10 часов назад, Justveryhappy сказал:

@Gusev добрый, 4ая версия данного модуля правит этот нюанс

 

Спасибо! Хороший мод. Когда раньше видел его не понял всей силы, тк не было понимания что и зачем и забыл про него. Сейчас будет оч кстати, тк как раз ищу менеджер редиректов. Ну и проблему со /// решу заодно)

  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.