Heim > php教程 > PHP开发 > Das Umschreiben und Weiterleiten von URLs durch ThinkPHP erfolgt pseudostatisch, um SEO-Effekte zu erzielen.

Das Umschreiben und Weiterleiten von URLs durch ThinkPHP erfolgt pseudostatisch, um SEO-Effekte zu erzielen.

高洛峰
Freigeben: 2016-10-17 09:37:00
Original
1928 Leute haben es durchsucht

1. Umschreiben der URL, Ausblenden von Index.php in der URL.

ThinkPHP hat als PHP-Framework einen einzigen Einstiegspunkt, daher ist die ursprüngliche URL nicht so benutzerfreundlich. ThinkPHP bietet jedoch verschiedene Mechanismen zum Anpassen des erforderlichen URL-Formats. Mit der Apache .htaccess-Datei ist es möglich, eine benutzerfreundliche URL-Adresse anzupassen, die der Suchmaschinenoptimierung zuträglicher ist.

.htaccess-Datei ist eine Konfigurationsdatei auf dem Apache-Server, die für die Konfiguration von Webseiten in zugehörigen Verzeichnissen verantwortlich ist. Wir können die Rewrite-Regeln der .htaccess-Datei verwenden, um die index.php-Datei (d. h. die Eintragsdatei) in der ThinkPHP-URL zu verbergen. Dies ist auch der erste Schritt in der pseudostatischen ThinkPHP-URL.

Zum Beispiel lautet die ursprüngliche URL:

http://www.baidu.com/index.php/Index/insert

Nach dem Entfernen von index.php wird daraus :

http://www.baidu.com/Index/insert

Auf diese Weise wird daraus http://Webseitenadresse/Name des Anwendungsmoduls/Operationsname[/variabler Parameter] Gängige URL-Formate.

Ändern Sie die Apache httpd.conf-Konfigurationsdatei

1. Laden Sie mod_rewrite.so

Bestätigen Sie, dass das Modul mod_rewrite.so geladen ist (entfernen Sie das # vor der folgenden Konfiguration) :

LoadModule rewrite_module module/mod_rewrite.so

2. Ändern Sie die AllowOverride-Konfiguration

Ändern Sie das Verzeichnis, das die .htaccess-Datei lesen muss, und kommentieren Sie das ursprüngliche Verzeichnis aus:

#

Ändern Sie AllowOverride None in AllowOverride FileInfo Options ,

Die geänderte Konfiguration lautet wie folgt:

#

AllowOverride FileInfoOptions

.htaccess wird basierend auf dem Verzeichnis gesteuert dieser Satz Das heißt, das Verzeichnis, in dem die .htaccess-Datei gelesen werden muss, muss entsprechend dem tatsächlichen spezifischen Apache-Analyseverzeichnis konfiguriert werden. Wenn der virtuelle Host die .htaccess-Steuerung bereitstellt, wurde er im Allgemeinen konfiguriert.

3. Fügen Sie die Rewrite-Regel für die .htaccess-Datei hinzu.

Erstellen Sie die .htaccess-Datei in dem Verzeichnis, in dem index.php ausgeblendet werden muss, und schreiben Sie den folgenden Regelcode:

RewriteEngine on

#Do not display index.php

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

4. Ändern Sie die Projektkonfigurationsdatei

Bearbeiten Sie die Projektkonfigurationsdatei Conf/config.php und konfigurieren Sie den URL-Modus auf 2 (Rewrite-Modus):

'URL_MODEL'=>2,

An dieser Stelle , jede Konfiguration wurde abgeschlossen. Starten Sie nach dem Speichern jeder Konfigurationsdatei den Apache-Server neu und löschen Sie die Projekt-Cache-Datei im Runtime-Verzeichnis. Greifen Sie im Browser auf die Adresse hinter der versteckten index.php zu, um zu testen, ob dies erfolgreich ist:

http://. www.baidu.com/ html/myapp/Index/index

Wenn der Zugriff erfolgreich ist, ist die Verwendung der Rewrite-Regel der Apache .htaccess-Datei zum Ausblenden der Konfiguration der index.php-Eintragsdatei erfolgreich .

2. Konfigurieren Sie das Routing, um die Länge der URL zu verkürzen.

Fügen Sie den folgenden Code zur Konfigurationsdatei unter Allgemein hinzu

//开启路由器

 'URL_MODEL' => 2,

 'URL_ROUTER_ON' => true,

 'URL_ROUTE_RULES' =>  array(

  'index' => "Home/Index/index",

  'test'  => "Home/Index/test", 
  //URL/test.html

  '/^C_(\d+)$/' => 'Index/index/user?id=:1'
  //短链接:http://localhost/index.php/C_9

 ),
Nach dem Login kopieren

3. Pseudostatisch, fügen Sie der URL das Suffix .html hinzu

ThinkPHP unterstützt Pseudostatisch URL-Einstellungen Sie können das erforderliche URL-Suffix festlegen. Bearbeiten Sie die Projektkonfigurationsdatei Conf/config.php und konfigurieren Sie den Parameter
URL_HTML_SUFFIX wie folgt:
'URL_HTML_SUFFIX' => '.html',

Löschen Sie die Projekt-Cache-Datei im Runtime-Verzeichnis Um die Konfiguration wirksam zu machen, greifen Sie im Browser auf die folgende Adresse zu. Der Effekt ist derselbe:

http://127.0.0.1/html/myapp/index.php/Index/index
http: //127.0.0.1/html/myapp /index.php/Index/index.shtml

In der Parameterkonfiguration können Sie auch jedes andere erforderliche Suffix konfigurieren. Beachten Sie, dass die Suffixeinstellung das Symbol enthält.
Nach dem Einrichten der Pseudostatik wird empfohlen, die U-Methode zum automatischen Generieren von URLs in der Vorlage zu verwenden, um die URLs überall konsistent zu halten. Weitere Informationen finden Sie unter „ThinkPHP U-Methode zum automatischen Generieren von URLs“.

Tipp:
ThinkPHP pseudo-static hat einen leicht missverstandenen Aspekt: ​​Nach der Konfiguration von pseudo-static generiert das System automatisch URLs wie xxx.html. Die tatsächliche Situation ist nicht so, aber wie oben erwähnt, hat die Frage, ob ein Suffix wie .html vorhanden ist oder nicht, nach der Konfiguration der Pseudostatik den gleichen Effekt wie der URL-Zugriff ohne Suffix. Wenn Sie pseudostatisch verwenden, können Sie daher nur manuell ein statisches Suffix hinzufügen oder die ThinkPHP U-Methode verwenden, um automatisch eine URL-Adresse mit einem Suffix zu generieren. Hier empfiehlt es sich natürlich, die U-Methode zu verwenden, um automatisch ein URL-Format mit einer pseudostatischen Adresse zu generieren.


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 Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage