[HTTPS] => on
[HTTP_X_SSL_EMU] => on
[SERVER_PORT] => 443
[HTTPS] => off
[HTTP_X_SSL_EMU] => off
[SERVER_PORT] => 80
RewriteEngine On
RewriteCond %{SERVER_PORT} !443 [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(pages/|)(.*?)(\.php|$) https://site.ru/$2 [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/pages/$1.php -f
RewriteRule ^(.*)$ pages/$1.php [L,QSA]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(pages/|)(.*?)(\.php|$) https://site.ru/$2 [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
echo "<pre>", print_r($_SERVER, true), "</pre>";
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(pages/|)(.*?)(\.php|$) https://site.ru/$2 [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/pages/$1.php -f
RewriteRule ^(.*)$ pages/$1.php [L,QSA]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{THE_REQUEST} " /(pages/|)(.*?)(\.php|[?\s])"
RewriteRule ^ https://site.ru/%2 [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/pages/$1.php -f
RewriteRule ^(.*)$ pages/$1.php [L,QSA]
www.site.ru/pages/yslugi.php => https://site.ru/yslugi
www.site.ru/pages/yslugi => https://site.ru/yslugi
www.site.ru/yslugi.php => https://site.ru/yslugi
$name
, указав именованную подмаску (?<name>...)
. %20
декодировано в обычный пробел.location ~* ^/.+\.(webp)$ {
expires max;
etag on;
try_files $uri $uri/ @handler;
}
location @handler {
rewrite ^(.*)$ /try_image.cgi?source=$1;
}
RewriteRule ^news/(.*)/(.*)$ news.php?id=$1&slug=$2
и движок сайта не вызывается по старым адресам. Так что теперь свою страницу ошибки нужно настраивать через ErrorDocument.
Потерялась "a" в вопросе было
/uploads/
.Проверка регулярных выражений прекращается после первого же совпадения, и используется соответствующая конфигурация. Если там выше есть что-то вроде
location ~* \.(gif|jpg|jpeg)$ {
, то запрос будет обработан там.nginx.org/ru/docs/http/ngx_http_core_module.html#l...
можно использовать префиксный location и модификатор “^~”, тогда регулярные выражения не проверяются.
location ^~ /uploads/posts/ {