Tôi muốn làm một tùy chỉnh viết lại
cho tên miền phụ trên ISPconfig. Khi tôi thêm mã bên dưới cho điều này, tên miền phụ được chuyển hướng đến tên miền chính.
Mẫu số 1:
người phục vụ {
...
nếu ($http_host = "panel.example.com") {
viết lại ^(?!/(_SubDomains/Panel|stats|\.well-known/acme-challenge))/(.*)$ /_SubDomains/Panel/$2 cuối cùng;
viết lại ^/(.*)/(.*)$ /index.php?cmd=$1&scd=$2? Cuối cùng;
}
...
}
Nếu mình làm như ví dụ 2 thì Nginx server không hoạt động.
Mẫu số 2:
người phục vụ {
...
nếu ($http_host = "panel.example.com") {
viết lại ^(?!/(_SubDomains/Panel|stats|\.well-known/acme-challenge))/(.*)$ /_SubDomains/Panel/$2 cuối cùng;
vị trí ~ \.php$ {
viết lại ^/(.*)/(.*)$ /index.php?cmd=$1&scd=$2? Cuối cùng;
}
}
...
}
Tôi đã sử dụng trong máy chủ Apache như thế này:
<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>
Không có liên kết viết lại: https://panel.example.com/index.php?cmd=abc&scd=xyz
Với Viết lại: https://panel.example.com/abc?scd=xyz
Làm cách nào tôi có thể sử dụng nó trên máy chủ Nginx PHP-FPM giống như tôi sử dụng nó trên máy chủ Apache trong tên miền phụ?