Nginx-Routing-Konfiguration index.php abbrechen

WBOY
Freigeben: 2023-05-22 21:00:07
Original
1394 Leute haben es durchsucht

Auf Webservern kommt es häufig vor, dass bestimmte Dateien oder Verzeichnisse nicht gefunden werden können. Derzeit verwenden wir häufig standardmäßig index.html oder index.php als Standarddatei, um dieses Problem zu lösen. In Nginx ist index.php eine der Standarddateien.

Aber manchmal möchten wir index.php nicht in der URL anzeigen. Dies hat eine gewisse Bedeutung für die Verschönerung der URL oder die Verbesserung der Website-Sicherheit. Wie kann man index.php in Nginx abbrechen?

1. Ändern Sie die Nginx-Konfigurationsdatei

Wenn Sie Nginx installiert haben und index.php abbrechen möchten, müssen wir die Nginx-Konfigurationsdatei ändern. Im Ubuntu-System lautet der Pfad der Nginx-Konfigurationsdatei „/etc/nginx/sites-available/default“.

Suchen Sie die „index“-Direktive in der Datei, das heißt:

index index.html index.htm index.nginx-debian.html;
Nach dem Login kopieren
Nach dem Login kopieren

Wir müssen die „index.php“ darin löschen und ändern in:

index index.html index.htm index.nginx-debian.html;
Nach dem Login kopieren
Nach dem Login kopieren

Oder Sie möchten, dass index.php nachrangig eingestuft wird Sie können es am Ende platzieren:

index index.html index.htm index.nginx-debian.html index.php
Nach dem Login kopieren

2. Konfigurieren Sie den virtuellen Nginx-Host

In Nginx verfügt jede Website über einen virtuellen Host. Ein virtueller Host kann für jede einzelne Website eine unabhängige Umgebung bereitstellen, sodass für jede Website unterschiedliche Funktionen eingestellt werden können. Hier müssen wir index.php für jeden virtuellen Host konfigurieren und löschen.

1. Öffnen Sie die Nginx-Konfigurationsdatei für den virtuellen Host

sudo nano /etc/nginx/sites-available/default
Nach dem Login kopieren

2. Löschen Sie index.php im virtuellen Host

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  root /var/www/html;

  # 列出默认文件
  index index.html index.htm;

  # 取消index.php,即移除它
  location / {
    try_files $uri $uri/ =404;
  }

  # 处理PHP脚本
  location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
  }

  # 处理网站资源
  location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
  }

  # 处理网站图标
  location /favicon.ico {
    access_log off;
    log_not_found off;
  }
}
Nach dem Login kopieren

In der obigen Konfigurationsdatei haben wir index.php abgebrochen und andere Standarddateien festgelegt. Gleichzeitig verwenden wir im Standortblock die Direktive try_files, um zu überprüfen, ob die URL vorhanden ist. Wenn sie nicht vorhanden ist, wird ein 404-Fehler zurückgegeben.

3. Ändern Sie nginx.conf entsprechend.

In Nginx können Sie die Anzeige von index.php auch abbrechen, indem Sie nginx.conf ändern. Wir müssen eine Direktive im http-Block hinzufügen:

http {
    ...

    # 将index.php从默认文件列表中删除
    index  index.html index.htm;

    # 取消index.php
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    ...
}
Nach dem Login kopieren

In der obigen Konfiguration überprüfen wir, ob die URL existiert, indem wir index.php aus der Standarddateiliste entfernen, und überprüfen dann, ob die URL existiert, indem wir die try_files-Direktive am Speicherort verwenden Block, und wenn er nicht existiert, verwenden Sie die Datei „index.php“.

4. Index.php über .htaccess abbrechen

Wenn Sie Nginx als Webserver verwenden und dieser keine .htaccess-Dateien unterstützt, können Sie eine ähnliche Datei verwenden: .user.ini. .user.ini ist eine htaccess-Datei, die nur PHP unterstützt. Dadurch können Sie PHP-Konfigurationsinformationen festlegen. Speichern Sie einfach die folgende Datei als .user.ini:

; PHP settings:
cgi.fix_pathinfo = 0
cgi.fix_pathinfo = false
cgi.fix_pathinfo = off

; nginx settings:
try_files $uri $uri/ /index.php?$query_string;

; User-defined settings:
index index.php index.html index.htm
Nach dem Login kopieren

Darunter überprüfen wir, ob die URL existiert, indem wir die Dateianweisung try_files ausprobieren. Wenn sie nicht existiert, verwenden wir die Datei „index.php“. Gleichzeitig legen wir andere Standarddateien fest.

5. Zusammenfassung

In diesem Artikel werden vier mögliche Methoden zum Abbrechen von index.php in Nginx vorgestellt. Sie können eine oder mehrere dieser Methoden verwenden, um Ihre eigenen Ziele basierend auf den Anforderungen Ihrer eigenen Website zu erreichen. Welche Methode Sie auch verwenden, sie ist sehr einfach und schnell. Sie können eine benutzerfreundlichere URL für Ihre Website bereitstellen, um mehr Besucher anzulocken und den SEO-Effekt Ihrer Website zu verbessern.

Das obige ist der detaillierte Inhalt vonNginx-Routing-Konfiguration index.php abbrechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage