RewriteCond %{THE_REQUEST} ^[^?]+//
RewriteRule ^(.*)$ /$1 [R=301,L]
ErrorDocument 404 /error.php
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index / [R=301,L]
RewriteCond %{THE_REQUEST} ^[^?]+//
RewriteRule ^(.*)$ /$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule \.php - [R=404,L]
RewriteRule ^([^.]+)$ %{REQUEST_URI}.php [L]
ErrorDocument 404 /error.php
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index / [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule \.php - [R=404,L]
RewriteRule ^([^.]+)$ %{REQUEST_URI}.php [L]
RewriteRule ^index / [R=301,L]
RewriteRule ^index|/$ / [R=301,L]
ErrorDocument 404 /err404.php
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index|(.*)\.php /$1 [R=301,L]
RewriteRule ^([^.]+)$ %{REQUEST_URI}.php [L]
---RewriteRule
и если .htaccess работает будет ошибка 500. AllowOverride All
. ^~
это означает не регулярное выражение, а простой префиксный локейшн nginx.org/ru/docs/http/ngx_http_core_module.html#l...^
и ~
location ~ ^((/images/storage/icons)/\w+)\.png$ {
try_files $uri $1.gif $2/_NULL.gif =404;
}
location ~ ^((/images/storage/icons)/\w+)\.gif$ {
try_files $uri $1.png $2/_NULL.gif =404;
}
https://site.com/images/storage/icons/TEST1.gif
if ($request_uri ~ "^/\?[A-Z]+=[A-Z]+$") {
return 444;
}
значения после "?" всегда меняются
if ($request_uri ~ "^/\?[A-Z]+$") {
return 444;
}
RewriteRule ^
RewriteCond %{THE_REQUEST} \?
RewriteRule ^$ https://site.ru/? [R=301,L]
RewriteCond %{THE_REQUEST} \?
RewriteRule ^$ https://site.ru/? [R=301,L]
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Хотелось бы иметь урл, который позволит перемещаться по папкам вне /etc/.
root /etc/;
заменить на root /;
, то сразу попадёте в корень файловой системы и дальше сможете перемещаться по папкам уже на сколько хватит прав доступа у юзера под которым работает Nginx.location / {
например на location /app/ {
, то вместо root вероятно нужен alias
Тогда если запрошен адрес /example без слэша и этот адрес является существующей папкой, то mod_dir выполнит редирект на адрес с добавлением слэша /example/.
Чтобы исключить бесконечный редирект на существующих папках нужно
Или отключить такое поведение mod_dir добавлением
DirectorySlash Off
.Тогда можно убрать
RewriteCond %{REQUEST_FILENAME} !-d