Когда я делаю 301 редиректrewrite ^/avtomobili/$ https://site.com/news-auto/ permanent;
site.com/avtomobili всё равно ведёт на site.com/avtomobili-s-probegom.
^/avtomobili/$
, а в запросе слеш не добавляете.^/avtomobili$
или ^/avtomobili/?$
server {
listen 80;
server_name site.ru www.site.ru;
root /var/www;
location = /robots.txt { }
location / {
return https://site.ru$request_uri;
}
}
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php [L]
server {
listen 80;
server_name my.domain.org;
error_page 502 /error_page/error_1.html;
location /error_page/ {
root /var/www;
}
location / {
proxy_pass http://my.domain.org:7990;
gzip off;
proxy_buffers 8 32k;
proxy_buffer_size 64k;
proxy_request_buffering off;
proxy_read_timeout 300;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
location /robots.txt { proxy_pass http://media-static/$host/static; }
proxy_pass http://media-static/$host/static$uri;
proxy_pass http://media-static/$host/static/robots.txt;
DirectoryIndex index.html
AddDefaultCharset utf-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} "^\S+ ([^ ?]+)\.html"
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_URI} !\.[a-zA-Z0-9]{2,4}
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1.html [L]
</IfModule>
RewriteCond %{HTTP_HOST} !=www.site.ru
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
if
там лишняя. Достаточно одного rewrite
rewrite ^/reviews/$ https://www.mysite.ru/o-kompanii/otzyvy/? permanent;
RedirectMatch 301 ^/catalog/res/vizaj$ https://site.ru/catalog/res/trust
RewriteEngine on
RewriteRule ^catalog/res/vizaj$ https://site.ru/catalog/res/trust [R=301,L]
RewriteRule ^(.*)$ index.php/$1 [L]
такая конструкция используется, когда php скрипт работает с переменной $_SERVER['PATH_INFO'].RewriteRule ^ index.php [L]
RewriteEngine on
RewriteRule ^admin/ folder/ [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301]
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?>www\.|)(.+) [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
RewriteCond %{ENV:HTTPS}_%{HTTP_HOST} ^(?|on_www\.(.+)|_(?>www\.|)(.+)) [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
RewriteCond %{ENV:HTTPS}_%{HTTP_HOST} ^(?|on_www\.(.+)|off_(?>www\.|)(.+)) [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]