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

Recommended Posts

49 минут назад, sonicking сказал:

1. 301-ый серверный редирект со страниц содержащих www в начале URL адреса, на страницы без такового параметра
2. 301-ый серверный редирект со страниц без “/” в конце URL-адреса, на страницы со “/” в конце URL-адресе
3. 301-ый серверный редирект со всех страниц, содержащих index.php в конце URL-адреса (в том числе и /index.php) на соответствующие страницы без данного параметра в конце URL-адреса
4. 301-ый редирект со страниц содержащих множественный “///” в конце/середине URL адреса на соответствующие страницы с “/” на конце/середине URL адреса

 

 

1

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

 

2 (лучше не делать - это отлично делает сео про. и ставит слеш там где он действительно нужен)

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$

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

 

3 (также вопрос не верный. у вас не должно быть ссылок вида index.php в принципе, сделайте нормальные сео урлы)

RewriteCond %{THE_REQUEST} /index\.php(/(.*?))? [NC]

RewriteRule ^(.*?)index\.php(/(.*?))?$ /$1$2 [L,R=301,NC,NE]

 

4 идем к @Yoda в шпаргалку

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]

 

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

@snastik наконец то сайт полностью перенесён с сервера на litespeed на сервер на apache

спасибо за Ваши советы. получилось следующее

1. 301-ый серверный редирект со страниц содержащих www в начале URL адреса, на страницы без такового параметра

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

работает
2. 301-ый серверный редирект со страниц без “/” в конце URL-адреса, на страницы со “/” в конце URL-адресе

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$

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

500 Internal Server Error

3. 301-ый серверный редирект со всех страниц, содержащих index.php в конце URL-адреса (в том числе и /index.php) на соответствующие страницы без данного параметра в конце URL-адреса

RewriteCond %{THE_REQUEST} /index\.php(/(.*?))? [NC]

RewriteRule ^(.*?)index\.php(/(.*?))?$ /$1$2 [L,R=301,NC,NE]

500 Internal Server Error

4. 301-ый редирект со страниц содержащих множественный “///” в конце/середине URL адреса на соответствующие страницы с “/” на конце/середине URL адреса

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]

работает

 

может неправильная последовательность редиректов? со всеми редиректами .htaccess выглядит так

Спойлер

# STARTNITRO
ExpiresActive On

#CSS JS XML TXT - 1 WEEK
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=604800, public"
ExpiresDefault "access plus 1 week"
</FilesMatch>

#JPG JPEG PNG GIF SWF SVG - 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf|svg|JPG|JPEG|PNG|GIF|SWF|SVG)$">
Header set Cache-Control "max-age=604800, public"
ExpiresDefault "access plus 1 week"
Header set Last-Modified "Wed, 05 Jun 2009 06:40:46 GMT"
</FilesMatch>

#OTF WOFF TTF ICO PDF FLV - 1 WEEK
<FilesMatch "\.(otf|ico|pdf|flv|woff|ttf)$">
Header set Cache-Control "max-age=604800, public"
ExpiresDefault "access plus 1 week"
</FilesMatch>
# ENDNITRO
# STARTCOMPRESSNITRO
RewriteEngine On
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(\/?((catalog)|(assets)).+)\.css$ assets/style.php?l=4&p=$1&c=604800 [NC,L]

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(\/?((catalog)|(assets)).+)\.js$ assets/script.php?l=4&p=$1&c=604800 [NC,L]
AddType image/svg+xml .svg
AddOutputFilterByType DEFLATE image/svg+xml
AddType application/x-font-woff .woff
AddOutputFilterByType DEFLATE application/x-font-woff
# ENDCOMPRESSNITRO
# 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))">
 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 /

# Убираем повторяющиеся слеши (/) в URL

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]

# Выбор основного зеркала без www

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

# Добавляем слеш(/), если его нет, и это не файл.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

# Убираем index.php, если он есть в конце URL

RewriteCond %{THE_REQUEST} /index\.php(/(.*?))? [NC]
RewriteRule ^(.*?)index\.php(/(.*?))?$ /$1$2 [L,R=301,NC,NE]

# Убираем слеши в конце URL для статических файлов (содержит точку)

RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

# Перенаправление на серии

RewriteCond %{REQUEST_URI} ^/brands/$
RewriteRule ^.*$ http://igra.toys/serii/? [R=301,L]

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=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 ^([^?]*) index.php?_route_=$1 [L,QSA]

### 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

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

 

надеюсь на Вашу помощь. заранее спасибо!

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


13 минут назад, sonicking сказал:

@snastik наконец то сайт полностью перенесён с сервера на litespeed на сервер на apache

спасибо за Ваши советы. получилось следующее

1. 301-ый серверный редирект со страниц содержащих www в начале URL адреса, на страницы без такового параметра

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

работает
2. 301-ый серверный редирект со страниц без “/” в конце URL-адреса, на страницы со “/” в конце URL-адресе

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$

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

500 Internal Server Error

3. 301-ый серверный редирект со всех страниц, содержащих index.php в конце URL-адреса (в том числе и /index.php) на соответствующие страницы без данного параметра в конце URL-адреса

RewriteCond %{THE_REQUEST} /index\.php(/(.*?))? [NC]

RewriteRule ^(.*?)index\.php(/(.*?))?$ /$1$2 [L,R=301,NC,NE]

500 Internal Server Error

4. 301-ый редирект со страниц содержащих множественный “///” в конце/середине URL адреса на соответствующие страницы с “/” на конце/середине URL адреса

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]

работает

 

может неправильная последовательность редиректов? со всеми редиректами .htaccess выглядит так

  Показать контент


# STARTNITRO
ExpiresActive On

#CSS JS XML TXT - 1 WEEK
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=604800, public"
ExpiresDefault "access plus 1 week"
</FilesMatch>

#JPG JPEG PNG GIF SWF SVG - 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf|svg|JPG|JPEG|PNG|GIF|SWF|SVG)$">
Header set Cache-Control "max-age=604800, public"
ExpiresDefault "access plus 1 week"
Header set Last-Modified "Wed, 05 Jun 2009 06:40:46 GMT"
</FilesMatch>

#OTF WOFF TTF ICO PDF FLV - 1 WEEK
<FilesMatch "\.(otf|ico|pdf|flv|woff|ttf)$">
Header set Cache-Control "max-age=604800, public"
ExpiresDefault "access plus 1 week"
</FilesMatch>
# ENDNITRO
# STARTCOMPRESSNITRO
RewriteEngine On
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(\/?((catalog)|(assets)).+)\.css$ assets/style.php?l=4&p=$1&c=604800 [NC,L]

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(\/?((catalog)|(assets)).+)\.js$ assets/script.php?l=4&p=$1&c=604800 [NC,L]
AddType image/svg+xml .svg
AddOutputFilterByType DEFLATE image/svg+xml
AddType application/x-font-woff .woff
AddOutputFilterByType DEFLATE application/x-font-woff
# ENDCOMPRESSNITRO
# 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))">
 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 /

# Убираем повторяющиеся слеши (/) в URL

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]

# Выбор основного зеркала без www

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

# Добавляем слеш(/), если его нет, и это не файл.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

# Убираем index.php, если он есть в конце URL

RewriteCond %{THE_REQUEST} /index\.php(/(.*?))? [NC]
RewriteRule ^(.*?)index\.php(/(.*?))?$ /$1$2 [L,R=301,NC,NE]

# Убираем слеши в конце URL для статических файлов (содержит точку)

RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

# Перенаправление на серии

RewriteCond %{REQUEST_URI} ^/brands/$
RewriteRule ^.*$ http://igra.toys/serii/? [R=301,L]

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=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 ^([^?]*) index.php?_route_=$1 [L,QSA]

### 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

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

 

надеюсь на Вашу помощь. заранее спасибо!

Погуглите что ли...
Этих инструкций как грязи.

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

3 минуты назад, sonicking сказал:

да уже гугл закончился и пол яндекса :grin:

попробую ещё. спасибо

выведите print_r($_SERVER) на любой странице магазина и посмотрите что там, возможно нет просто {THE_REQUEST} и надо поменять на {REQUEST_URI}

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

31 минуту назад, spectre сказал:

выведите print_r($_SERVER) на любой странице магазина и посмотрите что там, возможно нет просто {THE_REQUEST} и надо поменять на {REQUEST_URI}

@spectre ээээ.... и тут я завис...

можно поподробнее для полных идиотов :grin:

спасибо

 

P.S. эти задачи вроде решил 

# Добавляем слеш(/), если его нет, и это не файл.

RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*)$ $1/ [L,R=301]

 

# Убираем слеши в конце URL для статических файлов (содержит точку)

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

 

а эту задачу пока нет - всё что пробовал, вызывает циклический редирект

# Убираем index.php, если он есть в конце URL

Змінено користувачем sonicking
Надіслати
Поділитися на інших сайтах


@spectre

ну если правила

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]

и

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

срабатывают, то, как я понимаю, обе директивы присутствуют

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


  • 1 year later...

есть задача
нужно написать 301 редирект на урл для htaccess
https://site.com.ua/ua/stolovaya_posuda/servirovochnaja-posuda/stolovie-pribori/wilmax-wl-999106

меняло на

 

https://site.com.ua/ua/stolovaya_posuda-ua/servirovochnaja-posuda-ua/stolovie-pribori-ua/wilmax-wl-999106-ua/

 

основное условие - чтоб только если в урле присутствует /ua/

нужно чтоб для всех подобньых урлов шла подмена "/" на "-ua/"

слеш в конец урла необязотельно
єто уже есть....
возможно невозможно такое сделать регуляркой?

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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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