Перейти к содержанию

Рекомендуемые сообщения

Уважаемые , подскажите как настроить .htaccess

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Как добиться, чтобы не было дублей: ex1.site.com, ex2.site.com а было только site.com.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Как добиться, чтобы не было дублей: ex1.site.com, ex2.site.com а было только site.com.

А откуда эти дубли должны появится?

 

Где вы надыбали вот эту строку:

RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]

При таком редиректе у вас часть ссылки будет теряться.

 

Там должно быть так:

RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

А если вам нужно, чтоб любой поддомен первого уровня редиректил на основной домен, то замените это:

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]

На это:

RewriteCond %{HTTP_HOST} ^(.*)\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%2/$1 [R=301,L]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Gusev
      Всем доброго воскресного дня
       
      Решил прогнать сайт через 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
       
       
    • От le75
      Ребят, кто сталкивался или подскажет при включении кэшированя на стороне браузера в .htaccess, не корректо работает админ панель: менеджер изображений, товары, добавление товаров и т.д. Тоесть отображается всё закешированное ранее, и только после очистки кеша браузера видны изменения(но это до первых новых правок). На стороне пользователя работает корректно и без очистки кэша. Тема дефолтная и кэширование стандартное если что:
      <ifModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript </ifModule> <ifModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 days" ExpiresByType image/x-icon "access plus 1 month" ExpiresByType image/jpeg "access plus 4 weeks" ExpiresByType image/png "access plus 30 days" ExpiresByType image/gif "access plus 43829 minutes" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 604800 seconds" ExpiresByType application/javascript "access plus 604800 seconds" ExpiresByType application/x-javascript "access plus 604800 seconds" ExpiresByType text/html "access plus 43200 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" </ifModule>
    • От ale120188
      Подскажите как правильно настроить редирект .htaccess. У меня ошибка Ссылка на веб-страницу с 4xx статус-кодом: домен.com.ua/\/. В конце два \/ и идет ошибка 404. Подскажите пожалуйста.
       
       RewriteEngine On
      RewriteCond %{HTTPS_HOST} ^www.домен.com.ua/$ [NC]
      RewriteRule ^(.*)$ https://домен.com.ua/$1 [R=301,L]
      RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
      RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
      RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
      RewriteCond %{HTTP:X-Forwarded-Proto} =""
      RewriteCond %{HTTP:X-HTTPS} !1 [OR]
      RewriteCond %{HTTPS} !=on
      RewriteCond %{REQUEST_URI} !robots\.txt
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTPS/
      RewriteRule ^index\.html$ / [R=301,L]
      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTPS/
      RewriteRule ^index\.php$ / [R=301,L]
      RewriteCond %{QUERY_STRING} ^route=common/home$
      RewriteCond %{REQUEST_METHOD} !^POST$
      RewriteRule ^index\.php$ https://%{HTTPS_HOST}? [R=301,L]
      RewriteCond %{REQUEST_URI} !\?
      RewriteCond %{REQUEST_URI} !\&amp;amp;amp;amp;
      RewriteCond %{REQUEST_URI} !\=
      RewriteCond %{REQUEST_URI} !\.
      RewriteCond %{REQUEST_URI} !\/$
      RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]
    • От zerofirefox
      Всех приветствую,
       
      Подскажите кто разбирается в настройках htaccess 
      Есть необходимость добавить таймстэмп для изображений .jpg
      Т.е. результатом должно быть .jpg&1521923941
      http://www.domain.com/image/cache/data/folder/photo.jpg&1521923941
      RewriteCond %{QUERY_STRING} ^$ RewriteRule ^([^.]+)\.jpg$ /$1.jpg?%{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR} [L,R=302,NE]  
      В чем ошибка ?
    • От mawgan
      Всем привет!
      После настроек редиректа появилась следующая проблема. При переходе на 2 страницу результатов поиска по сайту слетает кодировка. Например, вместо "Крышки" появляется "%D0%BA%D1%80%D1%8B%D1%88%D0%BA%D0%B8%20" 
       
      Файл .htaccess выглядит так
       
      RewriteEngine On RewriteCond %{HTTP:HTTPS} !=on [NC] RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L] SetEnvIf X-Forwarded-Proto https HTTPS=on RewriteCond %{HTTP_HOST} ^site\.ru$ [NC] RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L] RewriteCond %{HTTPS_HOST} ^site\.ru$ [NC] RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L]  
      Если убрать строки:
      RewriteCond %{HTTP:HTTPS} !=on [NC] RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L] SetEnvIf X-Forwarded-Proto https HTTPS=on  
      То проблема исчезает. Кто-нибудь сталкивался с подобным? Как это исправить?
       
       
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×