Vreau să fac un obicei rescrie
pentru subdomeniul de pe ISPconfig. Când adaug codul de mai jos pentru aceasta, subdomeniul este redirecționat către domeniul principal.
Eșantionul #1:
Server {
...
dacă ($http_host = "panel.example.com") {
rescrie ^(?!/(_SubDomains/Panel|stats|\.well-known/acme-challenge))/(.*)$ /_SubDomains/Panel/$2 ultimul;
rescrie ^/(.*)/(.*)$ /index.php?cmd=$1&scd=$2? ultimul;
}
...
}
Dacă fac ca în exemplul doi, serverul Nginx nu funcționează.
Eșantionul #2:
Server {
...
dacă ($http_host = "panel.example.com") {
rescrie ^(?!/(_SubDomains/Panel|stats|\.well-known/acme-challenge))/(.*)$ /_SubDomains/Panel/$2 ultimul;
locație ~ \.php$ {
rescrie ^/(.*)/(.*)$ /index.php?cmd=$1&scd=$2? ultimul;
}
}
...
}
Am folosit pe serverul Apache astfel:
<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_URI} [^/]$
RewriteRule ^(.*)$ $1.php [L]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteCond %{REQUEST_URI} !.(css|gif|ico|jpg|js|png|swf|txt)$
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/([^/]+)?$ index.php?cmd=$1&scd=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ index.php?cmd=$1 [L,QSA]
</IfModule>
Fără link de rescriere: https://panel.example.com/index.php?cmd=abc&scd=xyz
Cu rescriere: https://panel.example.com/abc?scd=xyz
Cum îl pot folosi pe serverul Nginx PHP-FPM așa cum îl folosesc pe serverul Apache din subdomeniu?