Heim > Backend-Entwicklung > PHP-Tutorial > nginx – Warum wird unter ThinkPHP3.2 beim Abrufen des Parameters s=xxx angezeigt, dass der Controller xxx nicht geladen werden kann?

nginx – Warum wird unter ThinkPHP3.2 beim Abrufen des Parameters s=xxx angezeigt, dass der Controller xxx nicht geladen werden kann?

WBOY
Freigeben: 2016-08-10 09:07:22
Original
1938 Leute haben es durchsucht

URL ist http://rg.com/Admin/index?s=xxx
, wobei s das Suchwort darstellt und ein beliebiger Wert

sein kann

Tipps für den Zugriff auf den obigen Link

Controller kann nicht geladen werden:
Das ist sehr seltsam. Was hat das mit dem Controller zu tun? Ist der Controller nicht
?

Der Inhalt der öffentlichen Konfigurationsdatei (

) lautet wie folgt: c

Nachdem ich mir den Quellcode des Frameworks lange angesehen habe, kann ich immer noch nicht den Grund finden. Fragen Sie, warum QAQCommon/Conf/config.php

<code class="php">return array(
    'URL_MODEL'      => 2, // 重写模式
    'VAR_MODULE'     => '_m', // 默认模块获取变量
    'VAR_CONTROLLER' => '_c', // 默认控制器获取变量
    'VAR_ACTION'     => '_a', // 默认操作获取变量
);</code>
Nach dem Login kopieren
Nach dem Login kopieren
Antwortinhalt:

URL ist

, wobei

das Suchwort darstellt und ein beliebiger Wert

sein kann http://rg.com/Admin/index?s=xxxTipps für den Zugriff auf den obigen Link
s

Controller kann nicht geladen werden:

Das ist sehr seltsam. Was hat das mit dem Controller zu tun? Ist der Controller nicht

?

Der Inhalt der öffentlichen Konfigurationsdatei (
) lautet wie folgt:

Nachdem ich mir den Quellcode des Frameworks lange angesehen habe, kann ich immer noch nicht den Grund finden. Fragen Sie, warum QAQ

c

In Frames integrierte URLs verwenden Schlüsselwörter

Common/Conf/config.phpEs gibt mehrere Konfigurationselemente in ThinkPHP/Conf/convention.php

<code class="php">return array(
    'URL_MODEL'      => 2, // 重写模式
    'VAR_MODULE'     => '_m', // 默认模块获取变量
    'VAR_CONTROLLER' => '_c', // 默认控制器获取变量
    'VAR_ACTION'     => '_a', // 默认操作获取变量
);</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie get in tp verwenden, können Sie a, c, m, s nicht verwenden und es scheint auch nicht zu funktionieren. Wird vom Framework verwendet.

Ihr Suffix ist weg. Wenn sich die normale Verbindung im Rewrite-Modus befindet, werden Domänenname/Controllername/Methodenname/gefolgt von Parametern. Wenn solche Probleme häufig auftreten, wird empfohlen, die U-Methode zum Generieren der Verbindung zu verwenden . Wie zum Beispiel

<code>/* 系统变量名称设置 */
    'VAR_MODULE'            =>  'm',     // 默认模块获取变量
    'VAR_ADDON'             =>  'addon',     // 默认的插件控制器命名空间变量
    'VAR_CONTROLLER'        =>  'c',    // 默认控制器获取变量
    'VAR_ACTION'            =>  'a',    // 默认操作获取变量
    'VAR_AJAX_SUBMIT'       =>  'ajax',  // 默认的AJAX提交变量
    'VAR_JSONP_HANDLER'     =>  'callback',
    'VAR_PATHINFO'          =>  's',    // 兼容模式PATHINFO获取变量例如 ?s=/module/action/id/1 后面的参数取决于URL_PATHINFO_DEPR
    'VAR_TEMPLATE'          =>  't',    // 默认模板切换变量
    'VAR_AUTO_STRING'        =>    false,    // 输入变量是否自动强制转换为字符串 如果开启则数组变量需要手动传入变量修饰符获取变量</code>
Nach dem Login kopieren
Weitere Informationen finden Sie in der offiziellen Dokumentation

Verwandte Etiketten:
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