Komut dosyası yönlendirme ve süslü şeyler her türlü yapar bir PHP komut dosyası var. Başlangıçta Apache için tasarlanmıştı, ancak birkaç kutum için nginx'e geçirmeye çalışıyorum. Şu anda, bir test sunucusundaki işleri düzeltmeye çalışıyorum.
Bu yüzden komut dosyasının çalışma biçimi, bir .htaccess
dosya kullanarak dizin (Apache'de) için tüm HTTP trafiğini durdurmasıdır . İşte böyle görünüyor:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ index.php [L]
</IfModule>
Oldukça basit. Tüm istekler index.php
basit ve basit bir şekilde gerçekleştirilir.
Nginx'teki bu davranışı taklit etmek istiyorum, ama henüz bir yol bulamadım. Kimsenin önerisi var mı?
İşte nginx.conf
şu anda dosyamın bir kopyası . Unutmayın ki, sadece onu çalıştırmayı denemek benim için tasarlandı; çoğunlukla bir kopyalama / yapıştırma işi.
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type text/plain;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name swingset.serverboy.net;
access_log /var/log/nginx/net.serverboy.swingset.access_log;
error_log /var/log/nginx/net.serverboy.swingset.error_log warn;
root /var/www/swingset;
index index.php index.html;
fastcgi_index index.php;
location ~ \.php {
include /etc/nginx/fastcgi_params;
keepalive_timeout 0;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
}
.php
örneğin bu işe yarayacak:/doesNotExist.ph
ancak bu işe yaramayacak (bunun yerine 404 alacak):/doesNotExist.php