Bonjour, j'ai un serveur LEMP et j'ai utilisé le fichier .htaccess ci-dessous pour rediriger les répertoires vides vers index.php, mais le problème est qu'il n'exécute pas le code dans index.php, il se contente d'imprimer le Array()
fichier .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?path=$1 [NC,L,QSA]
configuration du serveur nginx
server {
listen 80;
root /storage/html/stream;
index index.php index.html index.htm index.nginx-debian.html;
server_name stream.example.com;
include snippets/phpmyadmin.conf;
location / {
try_files $uri $uri/ =404 /rest/index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
emplacement phpMyAdmin que j'ai inclus dans mon bloc serveur
location /phpmyadmin {
root /storage/html/stream/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /storage/html/stream/;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~ ^/phpmyadmin/(doc|sql|setup)/ {
deny all;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)) {
root /storage/html/stream/;
}
}
Et voici mon fichier index.php
`
Voici la sortie pour http://stream.example.com/rest/?path=video/server
Array
(
[path] => video/server
)
{"authorization":0,"error":1,"result":0,"message":"Token is invalid."}
Et voici la sortie pour http://stream.example.com/rest/video/server
Array ( )
mais ils devraient tous les deux me donner cette sortie:
Array ( [path] => video/server/ )
Est-ce que quelqu'un peut m'aider avec ce problème ?
`
2 votes
.htaccess
est un fichier de configuration Apache et vous semblez utiliser Nginx.0 votes
"Le problème est que le code dans index.php n'est pas exécuté, il se contente d'imprimer le Array()" - Il exécute le code dans
index.php
, sinon il ne "imprimerait pas Array()". Vous ne transmettez tout simplement pas les informations attendues à votre script.$args
est vide.path=$uri
est "plus proche" de ce que vous attendez.'=404
dans la directivetry_files
semble être redondant (et dans le mauvais ordre).