thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
本章节:详细介绍thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成
一、URL规则
1、默认是区分大小写的
2、如果我们不想区分大小写可以改配置文件
'URL_CASE_INSENSITIVE'=>true,//url不区分大小写
*模块命名太长的情况:
A、如果模块名为 UserGroupAction,复杂模块(一般是IndexAction)
那么url找模块就必要要写成
http://localhost/thinkphp4/index.php/user_group/index
B、如果'URL_CASE_INSENSITIVE'=>false(区分大小写的情况可以访问)
那么url也可以写为
http://localhost/thinkphp4/index.php/UserGroup/index
二、URL伪静态(tp默认支持伪静态)
http://localhost/thinkphp4/index.php/UserGroup/index.xml
*默认pdo、html、xml...都是支持的,如果要限制加个配置就行
'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀
三、URL路由
1、启动路由
要在配置文件中开启路由支持
'URL_ROUTER_ON' => true, //开启路由
2、使用路由
1.规则表达式配置路由
'URL_ROUTER_ON' => true, //开启路由
'URL_ROUTE_RULES' => array(
'my'=>'Index/index',//静态地址路由 访问:http://localhost/thinkphp/index.php/my
':id/:num'=>'Index/index',/*后面的数字值随便写,字母也行
动态地址路由 访问:http://localhost/thinkphp/index.php/10/200
可以再模块控制器中用get方式传值 或 获取
echo $_GET['id'];
echo $_GET['num'];
*/
'my/:num'=>'Index/index', //动静混合地址路由 http://localhost/thinkphp/index.php/my/200
'year/:year/:month/:date'=>'Index/index',//动态和静态混合地址路由: http://localhost/thinkphp/index.php/year/2014/12/21
'year/:year\d/:month\d/:date\d'=>'Index/index',//动态和静态混合地址路由 --加上 \d代表类型只能是数字
'my/:id$'=>'Index/index',// 加上$说明地址中只能是 my/1000 后面不能有其他内容了
);
2.正则表达式配置路由
//http://localhost/thinkphp/index.php/year/2014/12/21
'/^year\/(\d{4})\/(\d{2})\/(\d{2})/'=>'Index/index?year=:1&month=:2&date=:3'
3、注意事项:
1.越复杂的路由越往前面放
'URL_ROUTE_RULES'=>array(
'my/:year/:month:/:day'=>'Index/day', *复杂的路由放在前面,放后面就不会执行
'my/:id\d'=>'Index/index',
'my/:name'=>'Index/index',
)
2.可以使用$作为完全匹配的路由规则(不管复杂否,都会匹配所有正则)
'URL_ROUTE_RULES'=>array(
'my/:id\d$'=>'Index/index',
'my/:name$'=>'Index/index',
'my/:year/:month:/:day$'=>'Index/day',
),
3.用正则匹配的方式
'URL_ROUTE_RULES'=>array(
'/^my\/(\d+)$/'=>'Index/index?id=:1',
'/^my\/(\w+)$/'=>'Index/index?name=:1',
'/^my\/(\d{4})\/(\d{2})\/(\d{2})$/'=>'Index/day?year=:1&month=:2&day=:3',
),
四、URL重写
比如:http://localhost/thinkphp/index.php/Index/index.html/t/my ---- 不想让index.php出现
下面是Apache的配置过程,可以参考下:
1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、AllowOverride None 将None改为 All
3、确保URL_MODEL设置为2 (该步骤省略)
4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
重启Apache之后,原来的
就可以通过访问
http://localhost/thinkphp/Index/index.html/t/my --简化了URL地址,对SEO的支持度好点
五、URL生成(手册有详细介绍)
public function url(){
echo U('Index/add'); // 生成Index模块的add操作的URL地址
///thinkphp/index.php/index/add
}
上一篇http://qdxinbj8.2cto.com/index.php?m=content&c=content&a=public_preview&steps=1&catid=75&id=363637

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Slim 프레임워크에서 API 라우팅을 구현하는 방법 Slim은 웹 애플리케이션을 구축하는 간단하고 유연한 방법을 제공하는 경량 PHP 마이크로 프레임워크입니다. 주요 기능 중 하나는 API 라우팅 구현으로, 이를 통해 다양한 요청을 해당 핸들러에 매핑할 수 있습니다. 이 기사에서는 Slim 프레임워크에서 API 라우팅을 구현하는 방법을 소개하고 몇 가지 코드 예제를 제공합니다. 먼저 Slim 프레임워크를 설치해야 합니다. 최신 버전의 Slim은 Composer를 통해 설치할 수 있습니다. 터미널을 열고

Apache Camel은 서로 다른 애플리케이션, 서비스 및 데이터 소스를 쉽게 통합하여 복잡한 비즈니스 프로세스를 자동화할 수 있는 ESB(Enterprise Service Bus) 기반 통합 프레임워크입니다. ApacheCamel은 경로 기반 구성을 사용하여 통합 프로세스를 쉽게 정의하고 관리합니다. ApacheCamel의 주요 기능은 다음과 같습니다. 유연성: ApacheCamel은 다양한 애플리케이션, 서비스 및 데이터 소스와 쉽게 통합될 수 있습니다. HTTP, JMS, SOAP, FTP 등을 포함한 여러 프로토콜을 지원합니다. 효율성: ApacheCamel은 매우 효율적이어서 많은 수의 메시지를 처리할 수 있습니다. 성능을 향상시키는 비동기 메시징 메커니즘을 사용합니다. 확장 가능

C 언어에서 static 키워드의 역할과 사용법에 대한 심층 분석 C 언어에서 static은 함수, 변수 및 데이터 유형을 정의하는 데 사용할 수 있는 매우 중요한 키워드입니다. static 키워드를 사용하면 객체의 링크 속성, 범위, 생명주기가 변경될 수 있습니다. C 언어에서 static 키워드의 역할과 사용법을 자세히 분석해 보겠습니다. 정적 변수 및 함수: 함수 내에서 static 키워드를 사용하여 정의된 변수를 전역 수명 주기를 갖는 정적 변수라고 합니다.

C/C++에서 포인터 비교 규칙은 다음과 같습니다. 동일한 객체를 가리키는 포인터는 동일합니다. 다른 객체에 대한 포인터는 동일하지 않습니다. 예외: 널 주소에 대한 포인터는 동일합니다.

Vue 프로젝트에서 라우팅을 사용하여 페이지 전환 애니메이션 효과를 사용자 정의하는 방법은 무엇입니까? 소개: Vue 프로젝트에서 라우팅은 자주 사용하는 기능 중 하나입니다. 페이지 간 전환은 라우팅을 통해 이루어지며 좋은 사용자 경험을 제공합니다. 페이지 전환을 더욱 생생하게 만들기 위해 애니메이션 효과를 사용자 정의하여 구현할 수 있습니다. 이 기사에서는 라우팅을 사용하여 Vue 프로젝트에서 페이지 전환 애니메이션 효과를 사용자 정의하는 방법을 소개합니다. Vue 프로젝트 만들기 먼저 Vue 프로젝트를 만들어야 합니다. VueCLI를 사용하여 빠르게 빌드할 수 있습니다.

라우팅을 사용하여 Vue에서 페이지 점프를 구현하는 방법은 무엇입니까? 프론트엔드 개발 기술의 지속적인 발전으로 Vue.js는 가장 인기 있는 프론트엔드 프레임워크 중 하나가 되었습니다. Vue 개발에서 페이지 점프는 필수적인 부분입니다. Vue는 애플리케이션 라우팅을 관리하기 위해 VueRouter를 제공하며, 라우팅을 통해 페이지 간 원활한 전환이 가능합니다. 이 기사에서는 코드 예제와 함께 라우팅을 사용하여 Vue에서 페이지 점프를 구현하는 방법을 소개합니다. 먼저 Vue 프로젝트에 vue-router 플러그인을 설치하세요.

PHP에서 라우팅 규칙의 유연한 구성에 대한 구현 방법 및 경험 요약 소개: 웹 개발에서 라우팅 규칙은 URL과 특정 PHP 스크립트 간의 해당 관계를 결정하는 매우 중요한 부분입니다. 전통적인 개발 방법에서는 일반적으로 라우팅 파일에 다양한 URL 규칙을 구성한 다음 해당 URL을 해당 스크립트 경로에 매핑합니다. 그러나 프로젝트의 복잡성이 증가하고 비즈니스 요구 사항이 변경됨에 따라 각 URL을 수동으로 구성해야 하는 경우 매우 번거롭고 유연성이 없게 됩니다. 그렇다면 PHP로 구현하는 방법은 무엇입니까?

최신 웹 애플리케이션에서 웹 페이지 탐색 및 라우팅을 구현하는 것은 매우 중요한 부분입니다. JavaScript 기능을 사용하여 이 기능을 구현하면 웹 애플리케이션을 더욱 유연하고 확장 가능하며 사용자 친화적으로 만들 수 있습니다. 이 기사에서는 JavaScript 기능을 사용하여 웹 페이지 탐색 및 라우팅을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 웹 페이지 탐색 구현 웹 애플리케이션에서 웹 페이지 탐색은 사용자가 가장 자주 조작하는 부분입니다. 사용자가 페이지를 클릭하면
