Answer the question
In order to leave comments, you need to log in
How to set up htacces 301 redirect?
Good day! Help set up a redirect for the site.
I remade the site from WP to MODX and now the structure of 100 links has changed, http has changed to https
. I write the following options in .htacces, but they do not help:
Redirect 301 /категория/статья.html https://сайт.ру/категория/подкатегория-1/подкатегория-2/статья
Redirect permanent /категория/статья.html https://сайт.ру/категория/подкатегория-1/подкатегория-2/статья
RewriteRule ^/категория/статья.html$ https://сайт.ру/категория/подкатегория-1/подкатегория-2/статья [R=301,L]
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^/категория/статья.html https://сайт.ру/категория/подкатегория-1/подкатегория-2/статья [R=301,L]
</IfModule>
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^сайт\.ру [NC]
RewriteRule (.*) https://сайт.ру/$1 [R=301,L]
RewriteCond %{SERVER_PORT} !^443
RewriteRule (.*) https://сайт.ру/$1 [R=301,L]
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
php_flag register_globals Off
#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary
# сжатие text, html, javascript, css, xml:
<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
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</ifModule>
# Включаем кэш в браузерах посетителей
<ifModule mod_headers.c>
# Все html и htm файлы будут храниться в кэше браузера один день
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
# Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю
<FilesMatch "\.(js|css|txt)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# Все флэш файлы и изображения будут храниться в кэше браузера один месяц
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
# Отключаем кеширование php и других служебных файлов
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
<ifModule mod_expires.c>
ExpiresActive On
#по умолчанию кеш в 5 секунд
ExpiresDefault "access plus 5 seconds"
# Включаем кэширование изображений и флэш на месяц
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"
# Включаем кэширование css, javascript и текстовых файлов на одну неделю
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"
# Включаем кэширование html и htm файлов на один день
ExpiresByType text/html "access plus 43200 seconds"
# Включаем кэширование xml файлов на десять минут
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Answer the question
In order to leave comments, you need to log in
Write redirects right after
RewriteEngine On
RewriteBase /
#Редирект на HTTPS:
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#301 Редирект страниц:
RewriteRule ^category/old-page.html$ category/new-page [R=301,NC,L]
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question