location ~ \.php$ {
добавить internal и на прямые запросы к php будет 404.не работали редиректы 301, установленные в htaccess
так у меня воркер php-fpm, а не fastcgi
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/tgtrack.ru.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
location = / {
обойтись без alias, например:location = / {
root /root;
rewrite ^ /index.html break;
}
location = / {
root /root;
try_files /index.html =404;
}
RewriteCond %{REQUEST_URI} !^/en/en/.* [NC]
RewriteCond %{REQUEST_URI} !^/ru/ru/.* [NC]
RewriteCond %{REQUEST_URI} !^/((en|ru|de)/){2,}
Таких ссылок на самом сайте нет, но люди как то заходят на такие пути
/en/
, а относительно текущей папки en/
.href='en/'
.location /myapp {
alias /var/www/html/myapp;
index 1.php;
try_files $uri $uri/ =404;
}
location /([a-zA-Z0-9_-]+) {
alias /var/www/html/myapp2;
index 2.php;
try_files $uri $uri/ =404;
}
rewrite ^/myapp$ /myapp/1.php last;
rewrite ^/([a-zA-Z0-9_-]+)$ /myapp2/2.php last;
RewriteRule ^en/(.*)$ $1 [E=SITE_LANG:en,DPI]
RewriteRule ^ru/(.*)$ $1 [E=SITE_LANG:ru,DPI]
RewriteRule ^de/(.*)$ $1 [E=SITE_LANG:de,DPI]
RewriteRule ^(en|ru|de)/(.*)$ $2 [E=SITE_LANG:$1,DPI]
RewriteRule ^[^/]+/
RewriteRule ^[a-z]+/
Вроде бы все логично, но адрес qq.example.com/robots,txt возвращает 404.
/robots,txt
почему-то запятая вместо точки /robots.txt
/home/adminek/web/example.com/public_html/qq/robots.txt
%1
, а не $1
.RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [NC]
RewriteRule ^(.*)$ /home/adminek/web/example.com/public_html/%1$1 [L]
%1
.VirtualDocumentRoot /home/adminek/web/example.com/public_html/%1
%-3
.VirtualDocumentRoot /home/adminek/web/example.com/public_html/%-3
RewriteRule (.*) https://site.ru/$1 [R=301,L]
mrzgt, это правило в .htaccess должно перенаправить на домен site.ru и других перенаправлений тут нет.
Если происходит переход на другой домен site2.ru, то возможно в кеше браузера остался результат предыдущих экспериментов. Перед очередной проверкой не забывать сбросить кеш браузера.
Или проверять каким-нибудь онлайн сервисом, например, www.bertal.ru