Hintergrund:
Ich habe die URL-Verschönerung aktiviert, die folgenden sind die aktuellen URL-Regeln
URL:
example.com/site/view?id=06XBvOuYTbVE9pH8t/KJg==
Der Parameter id Der Wert ist verschlüsselt
Ich möchte es in diese Art von URL ändern:
1. example.com/view/06XBvOuYTbVE9pH8t/KJg==.html
Aber es funktioniert nicht, egal wie ich es konfiguriere,
Aber es funktioniert so:
2. example.com/view/1199.html
Routing-Regeln 2 sind sehr einfach zuzuordnen:
<code>rules => [ 'view/<id:\d+>' => 'site/view' // 好使 ]</code>
Aber die Routing-Regel 1 funktioniert nicht, egal wie Sie sie konfigurieren:
<code>rules => [ 'view/<id:[\w|%|=]+>' => 'site/view' // 不行 'view/<id:.*+>' => 'site/view' // 不行 'view/<id:.*>' => 'site/view' // 不行 '/view/<id:[^.]*>.html'=>'site/view?id=<id>' // 不行 ]</code>
Unterstützen die Regeln nur die reguläre Regel d?
Wie konfiguriere ich es, um diesen Effekt zu erzielen?
Warten online
Hintergrund:
Ich habe die URL-Verschönerung aktiviert, die folgenden sind die aktuellen URL-Regeln
URL:
example.com/site/view?id=06XBvOuYTbVE9pH8t/KJg==
Der Parameter id Der Wert ist verschlüsselt
Ich möchte es in diese Art von URL ändern:
1. example.com/view/06XBvOuYTbVE9pH8t/KJg==.html
Aber es funktioniert nicht, egal wie ich es konfiguriere,
aber es funktioniert so:
2. example.com/view/1199.html
Die Routing-Regeln von 2 sind sehr einfach zuzuordnen:
<code>rules => [ 'view/<id:\d+>' => 'site/view' // 好使 ]</code>
Aber die Routing-Regel 1 funktioniert nicht, egal wie Sie sie konfigurieren:
<code>rules => [ 'view/<id:[\w|%|=]+>' => 'site/view' // 不行 'view/<id:.*+>' => 'site/view' // 不行 'view/<id:.*>' => 'site/view' // 不行 '/view/<id:[^.]*>.html'=>'site/view?id=<id>' // 不行 ]</code>
Unterstützen die Regeln nur die reguläre Regel d?
Wie konfiguriere ich es, um diesen Effekt zu erzielen?
Warten online
Die obige Antwort macht Sinn. Das Vorkommen von / bedeutet, dass die URL zu /view/06XBvOuYTbVE9pH8t/FKJg==.html wird und daher nicht mit dem Format von /view/
Außerdem ist dieser Plan, um es ganz klar auszudrücken, einfach nur ein Idiot. Was ist der Zweck einer Friendly URL? Verbessern Sie die Lesbarkeit und helfen Sie der Suchmaschinenoptimierung. Hat ein sogenannter verschlüsselter String diesen Effekt? Gibt es einen Unterschied zum direkten ?id= ohne vorherige Optimierung? Es ist nur eine Formalität, ist es interessant?
Die richtige Lösung besteht darin, das Slug-Feld zu verwenden, z. B. /view/iphone-6s-gold. Dies ist die eigentliche Optimierung.
Sagen Sie nicht, dass es nur darum geht, andere daran zu hindern, wahllos IDs einzugeben. Das ist unhaltbar und ich möchte keine weiteren Gründe nennen. Und auch dieses Problem löst die Slug-Lösung.
Ich denke, / wird als / behandelt. Sie können die Verschlüsselungs- und Entschlüsselungsfunktion von id auslagern und / speziell behandeln (z. B. stattdessen einen Platzhalter festlegen).
Fragen Sie 1 oder 2?
Der Titel ist 2 und der Inhalt ist 1
<code>example.com/view/06XBvOuYTbVE9pH8t%2FKJg%3D%3D.html array( '/view/<id:[^.]*>.html'=>'site/view?id=<id>' )</code>