Home >Backend Development >PHP Tutorial >How to make ThinkPHP support uppercase and lowercase url address access, thinkphp uppercase and lowercase_PHP tutorial

How to make ThinkPHP support uppercase and lowercase url address access, thinkphp uppercase and lowercase_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:15:361141browse

How to make ThinkPHP support uppercase and lowercase url address access, thinkphp uppercase and lowercase

The example in this article describes how to enable thinkphp to support uppercase and lowercase url address access. Share it with everyone for your reference. The specific implementation method is as follows:

Usually ThinkPHP distinguishes between uppercase and lowercase URLs by default. This is also the same as the Linux system. The lowercase URLs have two different names. However, we are used to using Windows and treat uppercase and lowercase URLs the same, so we still have to base on user habits. Let’s deal with the problem. Let’s take a look at how to solve the problem.

The case recognition function of thinkphp is turned on in the configuration file, so that links with both upper and lower case can be accessed normally:
'URL_CASE_INSENSITIVE' =>true
File naming is standardized, but when using __URL__ in the template to obtain the current url path, the url is not obtained correctly.
The manual says:
One thing to note here is that if we define a module class of UserTypeAction, then the URL access should be:
http://serverName/index.php/user_type/list
instead of
http://serverName/index.php/usertype/list
The link obtained by using __URL__ in the template is still the one below, without underlining.
This problem has been reported by many people on the Internet. One solution is to modify the source code of tp:
In the Dispatcher.class.php file under the Core folder of the Lib folder of tp, find line 181, where the address acquisition method of __URL__ is defined:

Copy code The code is as follows:
$moduleName = defined('MODULE_ALIAS')?MODULE_ALIAS:MODULE_NAME;
if(defined('GROUP_NAME')) {
define('__URL__',!empty($domainModule)?__GROUP__.$depr : __GROUP__.$depr.( C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName ) );
}else{
define('__URL__',!empty($domainModule)?__APP__.'/' : __APP__.'/'.( C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName) );
}

Copy the code
and change it to: C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName )
:

Copy code The code is as follows:C('URL_CASE_INSENSITIVE')?parse_name($moduleName,0):$moduleName
This problem is solved!

I hope this article will be helpful to everyone’s ThinkPHP framework programming.

thinkphp path case and url issues

Is the Public folder in the root directory? If so, you can use /Public/ or __PUBLIC__/ (double underscore).


How can ThinkPHP make the group names in the URL automatically lowercase? - PHP framework development

I was also troubled by this problem all afternoon. Finally, I added [ol][*]$url = C(\'URL_CASE_INSENSITIVE\')?strtolower(( $url):$url;[/ol]


http://www.bkjia.com/PHPjc/904012.html

truehttp: //www.bkjia.com/PHPjc/904012.htmlTechArticleHow to make ThinkPHP support uppercase and lowercase url address access, thinkphp uppercase and lowercase case This article describes how to make thinkphp support uppercase and lowercase urls Address access method. Share it with everyone for your reference. Specifically...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn