当前位置:网站首页>The URL modes supported by ThinkPHP include four common modes, pathinfo, rewrite and compatibility modes

The URL modes supported by ThinkPHP include four common modes, pathinfo, rewrite and compatibility modes

2022-07-07 12:49:00 Full stack programmer webmaster

URL Pattern URL_MODEL Set up Common mode

0 PATHINFO Pattern 1 REWRITE Pattern 2 Compatibility mode 3

If the following modules are unified throughout your application URL Pattern , You can set in the application configuration file URL Pattern , If different modules need different settings URL Pattern , Can be set in the module configuration file .

Common mode

The common mode is also the traditional GET Pass parameters to specify the currently accessed module and operation , for example : http://localhost/?m=home&c=user&a=login&var=value m Parameter representation module ,c The parameter represents the controller ,a Parameters represent operations ( Of course, these parameters can be configured ), The latter indicates others GET Parameters . If the default variable settings conflict with your application variables , You need to reset the system configuration , For example, change to the following :

‘VAR_MODULE’ => ‘module’, // The default module gets variables ‘VAR_CONTROLLER’ => ‘controller’, // The default controller gets variables ‘VAR_ACTION’ => ‘action’, // The default operation is to get variables

The access address above becomes : http://localhost/?module=home&controller=user&action=login&var=value

Be careful ,VAR_MODULE Can only be set in the application configuration file , Other parameters can be set in module configuration

PATHINFO Pattern

PATHINFO Mode is the default of the system URL Pattern , Provides the best SEO Support , Environment compatibility has been done inside the system , So it can support most host environments . Corresponding to the above URL Pattern ,PATHINFO Under Mode URL The address is : http://localhost/index.php/home/user/login/var/value/ PATHINFO The first three parameters of the address represent the module / controller / operation . however ,PATHINFO In mode , You can still use ordinary URL Mode parameter mode , for example : http://localhost/index.php/home/user/login?var=value Still valid PATHINFO In mode ,URL It's customizable , for example , Through the following configuration :

// change PATHINFO Parameter separator

‘URL_PATHINFO_DEPR’=>’-‘,

We can also support the following URL visit : http://localhost/index.php/home-user-login-var-value REWRITE Pattern

REWRITE The pattern is PATHINFO Rewriting rule support is added on the basis of pattern , Can be removed URL The entry file in the address index.php, But it needs extra configuration WEB Rewriting rules for servers . If it is Apache You need to add .htaccess file , The contents are as follows :

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*) index.php/1 [QSA,PT,L]

Next , You can use the following URL Address visited : http://localhost/home/user/login/var/value

More environmental URL Rewrite the support reference deployment section URL rewrite .

Compatibility mode

Compatibility mode is used for unsupported PATHINFO The special environment ,URL The address is : http://localhost/?s=/home/user/login/var/value You can change the name definition of the compatibility mode variable , for example :

‘VAR_PATHINFO’ => ‘pathinfo’

PATHINFO The parameter separator is still valid for compatibility mode , for example :

// change PATHINFO Parameter separator

‘URL_PATHINFO_DEPR’=>’-‘,

With the above configuration ,URL The access address can become : http://localhost/?s=/home-user-login-var-value Compatibility mode coordination Web Definition of server rewrite rule , Can reach and REWRITE The pattern is the same URL effect .

Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/113484.html Link to the original text :https://javaforall.cn

原网站

版权声明
本文为[Full stack programmer webmaster]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207071036123464.html