Как сделать редирект (301, 302). Общая тема

K
На сайте с 13.05.2008
Offline
63
#201

Спасибо! Заработал редирект...

SF
На сайте с 07.09.2004
Offline
167
SAF
#202

Реально сделать одинарный (а не двойной!) редирект страниц без www со слэшем в конце НА страницы с www и без слэша?

И при этом с www на без www

Т.е. что бы страницы

http://site.ru/

http://www.site.ru/

Редиректились на http://www.site.ru

J
На сайте с 20.02.2014
Offline
120
jkm
#203


www.site.ru/page/ => www.site.ru/page
site.ru/page/ => www.site.ru/page
site.ru/page => www.site.ru/page

Правила применяются последовательно и нужно их расставить в правильном порядке.

Первым идёт редирект всего что со слэшем в конце.

Вторым идёт редирект для www.


RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ http://www.site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^site\.ru$
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Duo7gfkg
На сайте с 13.09.2012
Offline
75
#204

Подскажите, где ошибка плз.

Не работает редирект с site.ru/index.php на site.ru

Options +FollowSymLinks -Indexes

RewriteEngine On

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.php|\.ini|\.xml [NC]
RewriteCond %{REQUEST_URI} \/components\/ [OR]
RewriteCond %{REQUEST_URI} ^\/includes\/|^\/administrator\/includes\/ [OR]
RewriteCond %{REQUEST_URI} \/language\/ [OR]
RewriteCond %{REQUEST_URI} \/libraries\/ [OR]
RewriteCond %{REQUEST_URI} \/modules\/ [OR]
RewriteCond %{REQUEST_URI} \/plugins\/ [OR]
RewriteCond %{REQUEST_URI} \/templates\/ [OR]
RewriteCond %{REQUEST_URI} \/xmlrpc\/
RewriteRule ^(.*)$ index.php [R=404,L]

RewriteCond %{query_string} concat.*\( [NC,OR]
RewriteCond %{query_string} union.*select.*\( [NC,OR]
RewriteCond %{query_string} union.*all.*select [NC]
RewriteRule ^(.*)$ index.php [F,L]

SetEnvIf user-agent "Indy Library" stayout=1
SetEnvIf user-agent "libwww-perl" stayout=1
SetEnvIf user-agent "Wget" stayout=1
deny from env=stayout

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css 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 mod_gzip.c>
mod_gzip_on Yes
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$ </ifmodule>
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On

ExpiresDefault "now plus 1 hour"
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
ExpiresByType images/bmp "now plus 1 month"
ExpiresByType images/gif "now plus 1 month"
ExpiresByType images/jpeg "now plus 1 month"
ExpiresByType images/jp2 "now plus 1 month"
ExpiresByType images/pipeg "now plus 1 month"
ExpiresByType images/png "now plus 1 month"
ExpiresByType images/svg+xml "now plus 1 month"
ExpiresByType images/tiff "now plus 1 month"
ExpiresByType images/vnd.microsoft.icon "now plus 1 month"
ExpiresByType images/x-icon "now plus 1 month"
ExpiresByType images/ico "now plus 1 month"
ExpiresByType images/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
ExpiresByType images/vnd.wap.wbmp "now plus 1 month"
ExpiresByType application/vnd.wap.wbxml "now plus 1 month"
ExpiresByType application/smil "now plus 1 month"

ExpiresByType audio/basic "now plus 1 month"
ExpiresByType audio/mid "now plus 1 month"
ExpiresByType audio/midi "now plus 1 month"
ExpiresByType audio/mpeg "now plus 1 month"
ExpiresByType audio/x-aiff "now plus 1 month"
ExpiresByType audio/x-mpegurl "now plus 1 month"
ExpiresByType audio/x-pn-realaudio "now plus 1 month"
ExpiresByType audio/x-wav "now plus 1 month"

ExpiresByType application/x-shockwave-flash "now plus 1 month"
ExpiresByType x-world/x-vrml "now plus 1 month"
ExpiresByType video/x-msvideo "now plus 1 month"
ExpiresByType video/mpeg "now plus 1 month"
ExpiresByType video/mp4 "now plus 1 month"
ExpiresByType video/quicktime "now plus 1 month"
ExpiresByType video/x-la-asf "now plus 1 month"
ExpiresByType video/x-ms-asf "now plus 1 month"
</IfModule>

<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
RewriteRule ^category/(.+)$ httр://site.ru/$1 [R=301,L]
</IfModule>

# END WordPress
<Files wp-config.php>
order allow,deny
deny from all
</Files>

<Files .htaccess>
order allow,deny
deny from all
</Files>
AddDefaultCharset utf-8
J
На сайте с 20.02.2014
Offline
120
jkm
#205

Правила для редиректа должны стоять выше правил для ЧПУ.

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]

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

RewriteRule ^category/(.+)$ httр://site.ru/$1 [R=301,L]

Эти строки нужно перенести в начало файла.

Должно получиться примерно так:


Options +FollowSymLinks -Indexes

RewriteEngine On

RewriteRule ^category/(.+)$ httр://site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Duo7gfkg
На сайте с 13.09.2012
Offline
75
#206
jkm:
Правила для редиректа должны стоять выше правил для ЧПУ.

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
RewriteRule ^category/(.+)$ httр://site.ru/$1 [R=301,L]
Эти строки нужно перенести в начало файла.
Должно получиться примерно так:

Options +FollowSymLinks -Indexes

RewriteEngine On

RewriteRule ^category/(.+)$ httр://site.ru/$1 [R=301,L]

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

поменял местами, но с index.php не работает редирект все равно

Duo7gfkg
На сайте с 13.09.2012
Offline
75
#207

заработало вот в таком формате. первым убираем индекс.пхп, далее слеш, далее ВВВ, далее редирект из инста на ютм метку с главной.

# BEGIN WordPress
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

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

Redirect 301 /insta http://site.ru/?utm_source=instagram&utm_medium=social&utm_campaign=insta-account

</IfModule>
# END WordPress
SeVlad
На сайте с 03.11.2008
Offline
1609
#208
Duo7gfkg:
заработало вот в таком формате.

Вынести из секции ВП, все редректы и пр, что не генерит сам ВП. Иначе рискуешь потерять это всё.

И перечитай:

jkm:
Правила для редиректа должны стоять выше правил для ЧПУ.
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
Duo7gfkg
На сайте с 13.09.2012
Offline
75
#209
SeVlad:
Вынести из секции ВП, все редректы и пр, что не генерит сам ВП. Иначе рискуешь потерять это всё.
И перечитай:

вот в таком виде?

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]

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

Redirect 301 /insta http://site.ru/?utm_source=instagram...=insta-account
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
# END WordPress
B
На сайте с 31.07.2011
Offline
91
#210

Здравствуйте! Кто разбирается с кодом в файле .htaccess помогите разобраться как должен выглядеть код для перенаправления четырех доменов со всеми их поддоменами на один домен. начертил структуру она во вложении, спасибо

jpg 153568.jpg

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий