목차
让ThinkPHP支持大小写url地址访问的方法,thinkphp大小写
thinkphp路径大小写与url问题
ThinkPHP怎让URL中的分组名自动都是小写? - PHP框架开发
php教程 php手册 让ThinkPHP支持大小写url地址访问的方法,thinkphp大小写

让ThinkPHP支持大小写url地址访问的方法,thinkphp大小写

Jun 13, 2016 am 09:22 AM
thinkphp url

让ThinkPHP支持大小写url地址访问的方法,thinkphp大小写

本文实例讲述了让thinkphp支持大小写url地址访问的方法。分享给大家供大家参考。具体实现方法如下:

通常ThinkPHP默认是区别大小写url的,这种也是与linux系统一样在小写url是两个不同的名字,但我们使用windows习惯了对于大小写都认为一样的,所以还是要根据用户习惯来处理问题,下面我们一起来看问题解决方法。

在配置文件中开启了thinkphp的大小写识别功能,使链接大小写都可以正常访问:
'URL_CASE_INSENSITIVE' =>true
文件命名都是规范的,但是在模板中使用__URL__获取当前url路径时,却没有正确得到url。
手册中这样写:
这里需要注意一个地方,如果我们定义了一个UserTypeAction的模块类,那么URL的访问应该是:
http://serverName/index.php/user_type/list
而不是
http://serverName/index.php/usertype/list
在模板中使用__URL__得到的链接还是下面那个,并没有加上下划线。
这个问题在网上也有很多人反馈,有个解决办法是修改tp的源代码:
在tp的Lib文件夹的Core文件夹下的Dispatcher.class.php文件,找到181行,这里定义了__URL__的地址获取方式:

复制代码 代码如下:

$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) );
}


把其中的

复制代码 代码如下:

C('URL_CASE_INSENSITIVE') ? strtolower($moduleName) : $moduleName )

改成:

复制代码 代码如下:

C('URL_CASE_INSENSITIVE')?parse_name($moduleName,0):$moduleName


这样问题就搞定了!

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

thinkphp路径大小写与url问题

Public文件夹是否在根目录?如果是,可以用/Public/或__PUBLIC__/(双下划线)。
 

ThinkPHP怎让URL中的分组名自动都是小写? - PHP框架开发

我也被这个问题困扰了整个下午,最后我在 ThinkPHP/Common/functions.php 的U函数最后加了一句[ol][*]$url = C(\'URL_CASE_INSENSITIVE\')?strtolower($url):$url;[/ol]
 

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

thinkphp 프로젝트를 실행하는 방법 thinkphp 프로젝트를 실행하는 방법 Apr 09, 2024 pm 05:33 PM

thinkphp 프로젝트를 실행하는 방법

e의 NameResolutionError(self.host, self, e) 이유와 해결 방법 e의 NameResolutionError(self.host, self, e) 이유와 해결 방법 Mar 01, 2024 pm 01:20 PM

e의 NameResolutionError(self.host, self, e) 이유와 해결 방법

thinkphp에는 여러 버전이 있습니다. thinkphp에는 여러 버전이 있습니다. Apr 09, 2024 pm 06:09 PM

thinkphp에는 여러 버전이 있습니다.

thinkphp를 실행하는 방법 thinkphp를 실행하는 방법 Apr 09, 2024 pm 05:39 PM

thinkphp를 실행하는 방법

thinkphp를 설치하는 방법 thinkphp를 설치하는 방법 Apr 09, 2024 pm 05:42 PM

thinkphp를 설치하는 방법

laravel과 thinkphp 중 어느 것이 더 낫나요? laravel과 thinkphp 중 어느 것이 더 낫나요? Apr 09, 2024 pm 03:18 PM

laravel과 thinkphp 중 어느 것이 더 낫나요?

개발 제안: ThinkPHP 프레임워크를 사용하여 비동기 작업을 구현하는 방법 개발 제안: ThinkPHP 프레임워크를 사용하여 비동기 작업을 구현하는 방법 Nov 22, 2023 pm 12:01 PM

개발 제안: ThinkPHP 프레임워크를 사용하여 비동기 작업을 구현하는 방법

HTML과 URL의 차이점은 무엇입니까 HTML과 URL의 차이점은 무엇입니까 Mar 06, 2024 pm 03:06 PM

HTML과 URL의 차이점은 무엇입니까

See all articles