---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 <VirtualHost *:80>
ServerName name
ServerAlias my.domain.com
ServerAdmin my@post
DocumentRoot /var/www/html/service/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/service/public>
AllowOverride All
</Directory>
</VirtualHost>
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
ErrorDocument 404 /sections/404
.https://site.com/link?a=b
их оставить или убрать?\S
совпадёт с любым символом, не являющимся пробельным. (\S+)
совпадёт с любым количеством /
https://regex101.com/r/ymSVke/1[^/]
совпадёт с любым символом кроме /
.RewriteRule ^([^/]+/[^/]+)/$ template/view_product.php?url=$1 [L]
RewriteRule ^([^/]+)/$ template/view_category.php?url=$1 [L]
ErrorDocument 404 /file.php
# ACCESS TO SERVER
allow 111.22.0.0/16;
deny all;
А в шаблоне почему-то _route_, а не route.
_route_=product/product&path=123&product_id=123
Ну и сам редирект нужно ставить выше остальных правил.