suchen
Heimphp教程PHP开发Nginx-Konfiguration CodeIgniter-Projekt (1)

Zuerst habe ich die URL-Rewrite-Methode von Nginx verwendet.

Enable_query_strings aktivieren

Die Methode zum Aktivieren ist sehr einfach: in application/config/config.php festlegen:

$config['enable_query_strings'] = FALSE

Wenn Sie im PATH_INFO-Modus, der in CI-Entwicklungsprojekten verwendet wird, die URL in der Nginx-Konfiguration neu schreiben möchten, müssen Sie die Zeichenfolgenabfrage in der CI-Konfigurationsdatei aktivieren und die Änderungen im URL-Formular vergleichen:

URL: www.xxx.com/user/profile String-Abfragemodus: www.xxx.com/index.php?c=user&m=profile

Stellen Sie das Frontend ein und Back-End-URLs nach bestimmten Regeln. Nach dem Umschreiben sind alle Tests in Ordnung. Es gibt jedoch ein Problem beim Paging, da sich die nach der Aktivierung der Zeichenfolgenabfrage generierte Paging-URL-Adresse geändert hat:

Nicht aktiviert: /user/list/10 Nach der Aktivierung der Zeichenfolgenabfrage: /user/list&per_page= 10

Der Grund, warum die folgende falsche URL angezeigt wird, ist, dass sich beim Generieren der Paginierung das base_url-Format nicht geändert hat, sodass es sich von /user/list in das entsprechende /index.php?c=user&m= ändert Liste wird die folgende Situation angezeigt:

Zweite Seite: www.xxx.com/index.php?c=user&m=list&per_page=10 Dritte Seite: www.xxx.com/index.php? user&m=list&per_page=20 Die vierte Seite: www.xxx.com/index.php?c=user&m=list&per_page=30

Und die Seitengröße, die ich eingestellt habe, ist immer 10, in diesem Fall per_page. Das sollte es sein immer 10 sein. Ich habe mir den Code der Pagination-Klasse angesehen und festgestellt, dass per_page nur der Standardwert von query_string_segment ist. Ich habe fälschlicherweise gedacht, dass es sich um den Parameter per_page handelt.

Paging ist mit Rewrite kompatibel

Um es zusammenzufassen: Wenn Sie in Bezug auf Paging mit Rewrite kompatibel sein möchten, ändern Sie den Parameter base_url beim Generieren von Paging:

Methode 1 : /index .php?c=user&m=list, das Ergebnis ist: /index.php?c=user&m=list&per_page=10 Methode 2: /user/list?, das Ergebnis ist: /user/list?&per_page=10

Das Paging-SQL ist:

$this->db->limit($pagesize, $this->input->get('per_page'));

Um die URL-Konsistenz aufrechtzuerhalten, verwenden Sie die zweite Methode. Sie können auch später alle nutzlosen Parameter hinzufügen, um das Ergebnis zu /user/list?x=xxx&per_page=10 zu machen.

Diskutieren

über Paginierung. Natürlich können Sie auch nicht das mit CI gelieferte Paging verwenden oder Pagination.php ändern.

Wenn es als Parameter der Methode übergeben wird, eine normale URL wie: /user/arg1/arg2/arg3, dann kann es beim Umschreiben nicht übergeben werden (zumindest habe ich noch keine Lösung gefunden) ), wenn Sie es lösen möchten, müssen Sie die Parameter in den GET-Modus ändern, was eine Änderung des Programms erfordert und daher nicht empfohlen wird.

Darüber hinaus erfordert die Verwendung von Rewrite unterschiedliche Formen von URLs. Wenn das Projekt sehr komplex ist, wird es zu einer Belastung, daher suchen wir nach einer anderen Methode: Lassen Sie Nginx PATH_INFO an fastcgi übergeben, siehe nächster Artikel.

Das Obige ist der Inhalt des Nginx-KonfigurationscodeIgniter-Projekts (1). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.