Laravel -Herde (Nginx) Umgang mit sauberen URLs nicht - alle Routen leiten zu index.php [geschlossen] um.Php

PHP-Programmierer chatten hier
Anonymous
 Laravel -Herde (Nginx) Umgang mit sauberen URLs nicht - alle Routen leiten zu index.php [geschlossen] um.

Post by Anonymous »

Hinweis/Lösung: Erwartete Verhalten, das mit einem benutzerdefinierten Valet -Treiber erreicht wird, weitere Details am Ende der Problemanweisung.
< /blockquote>
Ich führe eine PHP -Site lokal mit Laravel -Herde aus (die Nginx verwendet). Ich verfügt :
  • Bei dem Zugriff auf mySite.test/contact dient es den Inhalt von index.php anstelle von Kontakt .php
  • Dies geschieht für alle Routen, alles zeigt den Homepage -Inhalt
Erwartetes Verhalten: < /strong> < /p>
  • Code: Select all

    mysite.test/contact
    sollte contact.php
  • servieren.>

    Code: Select all

    mysite.test/about
    sollte über.php
  • etc.
Das gleiche Setup funktioniert perfekt funktioniert Mit Apache verwendeten .htaccess -Regeln, aber ich kann es nicht mit Nginx unter Laravel -Herde zum Laufen bringen. >
Bearbeiten: < /p>
Hier sind HERD -Konfigurationen und Nginx -Konfigurationsdateien: < /p>
nginx config: < /p>

Code: Select all

user "fahimfoysal" staff;
worker_processes auto;

events {
worker_connections  1024;
}

http {

default_type  application/octet-stream;

sendfile on;
keepalive_timeout  65;
types_hash_max_size 2048;

client_max_body_size 512M;

server_names_hash_bucket_size 128;

gzip  on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types
application/atom+xml
application/javascript
application/json
application/rss+xml
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/svg+xml
image/x-icon
text/css
text/plain
text/x-component;

include "/Applications/Herd.app/Contents/Resources/config/pro/nginx/*.conf";
include "/Users/fahimfoysal/Library/Application Support/Herd/config/valet/Nginx/*";
include herd.conf;

include "/Applications/Herd.app/Contents/Resources/config/default-sites/*.conf";
}
< /code>
Herd-Konfiguration: < /p>
server {
listen 127.0.0.1:80 default_server;
#listen VALET_LOOPBACK:80; # valet loopback
root /;
charset utf-8;
client_max_body_size 128M;

location /41c270e4-5535-4daa-b23e-c269744c2f45/ {
internal;
alias /;
try_files $uri $uri/;
}

location / {
rewrite ^ "/Applications/Herd.app/Contents/Resources/valet/server.php" last;
}

location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt  { access_log off; log_not_found off; }

access_log off;
error_log "/Users/fahimfoysal/Library/Application Support/Herd/Log/nginx-error.log";

error_page 404 "/Applications/Herd.app/Contents/Resources/valet/server.php";

location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass $herd_sock;
fastcgi_index "/Applications/Herd.app/Contents/Resources/valet/server.php";
fastcgi_param QUERY_STRING  $query_string;
fastcgi_param REQUEST_METHOD  $request_method;
fastcgi_param CONTENT_TYPE  $content_type;
fastcgi_param CONTENT_LENGTH  $content_length;
fastcgi_param SCRIPT_FILENAME  $request_filename;
fastcgi_param SCRIPT_NAME  $fastcgi_script_name;
fastcgi_param REQUEST_URI  $request_uri;
fastcgi_param DOCUMENT_URI  $document_uri;
fastcgi_param DOCUMENT_ROOT  $document_root;
fastcgi_param SERVER_PROTOCOL  $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE  nginx/$nginx_version;
fastcgi_param REMOTE_ADDR  $remote_addr;
fastcgi_param REMOTE_PORT  $remote_port;
fastcgi_param SERVER_ADDR  $server_addr;
fastcgi_param SERVER_PORT  $server_port;
fastcgi_param SERVER_NAME  $server_name;
fastcgi_param HTTPS   $https if_not_empty;
fastcgi_param HERD_HOME "/Users/fahimfoysal/Library/Application Support/Herd";
fastcgi_param REDIRECT_STATUS  200;
fastcgi_param HTTP_PROXY  "";
fastcgi_buffer_size 512k;
fastcgi_buffers 16 512k;
fastcgi_param SCRIPT_FILENAME "/Applications/Herd.app/Contents/Resources/valet/server.php";
fastcgi_param PATH_INFO $fastcgi_path_info;
}

location ~ /\.ht {
deny all;
}
}
< /code>
Hier sind die Zeilen, die in .htaccess-Datei hinzugefügt wurden: < /PBR /> RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
< /code>

 Lösung: < /strong>

Herde verwendet stark angepasste Diener unter der Haube. Und ich fand, dass Valet benutzerdefinierte Konfiguration über globale oder Projektebene -Treiberdateien unterstützt.  Hier ist eine Quelle: Laravel Herde/Valet
benutzerdefinierte Treiber
Befolgen Um saubere URL zu verarbeiten: < /p>
$candidatePath = $sitePath . $uri . '.php';
if (file_exists($candidatePath)) {
return $candidatePath;
}
Ich musste es in das benutzerdefinierte Projektstamm platzieren.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post