< /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
- sollte contact.php
Code: Select all
mysite.test/contact
- servieren.>sollte über.php
Code: Select all
mysite.test/about
- etc.
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;
}