ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式。
-
http://localhost/app/index.php/Index/index
这种URL模式就是系统默认的PATHINFO模式,不同的URL模式获取模块和操作的方法不同,ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式。
普通模式:也就是传统的GET传参方式来指定当前访问的模块和操作,例如:
-
http://localhost/app/?m=module&a=action&var=value
m参数表示模块,a操作表示操作(模块和操作的URL参数名称是可以配置的),后面的表示其他GET参数。
PATHINFO模式:是系统的默认URL模式,提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所以能够支持大多数的主机环境。对应上面的URL模式,PATHINFO模式下面的URL访问地址是:
-
http://localhost/app/index.php/module/action/var/value/
PATHINFO地址的第一个参数表示模块,第二个参数表示操作。
PATHINFO模式下面,URL是可定制的,例如,通过下面的配置:
-
'URL_PATHINFO_DEPR'=>'-', // 更改PATHINFO参数分隔符
我们还可以支持下面的URL访问:
-
http://localhost/app/index.php/module-action-var-value/
REWRITE模式:是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。
如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:
-
<IfModule mod_rewrite.c>
-
RewriteEngine on
-
RewriteCond %{REQUEST_FILENAME} !-d
-
RewriteCond %{REQUEST_FILENAME} !-f
-
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
-
</IfModule>
接下来,就可以用下面的URL地址访问了:
-
http://localhost/app/module/action/var/value/
兼容模式:是用于不支持PATHINFO的特殊环境,URL地址是:
-
http://localhost/app/?s=/module/action/var/value/
兼容模式配合Web服务器重写规则的定义,可以达到和REWRITE模式一样的URL效果。
相关推荐
标题 "sftp直接以url模式读取-----------包括servlet如何借用springproperties取文件" 提到的是在Java开发中,如何通过SFTP(Secure File Transfer Protocol)协议以URL模式读取远程文件,并结合SpringProperties来...
在Swift编程中,万能动态路由(URL模式)是一种强大的设计模式,用于处理应用程序内部的导航和通信。这种模式使得我们可以用简洁的方式处理各种不同类型的交互,比如打开特定的视图控制器、调用服务或者执行特定功能...
4. **Pattern和Negate**:`pattern`定义要匹配的URL模式,`negate`用于反转匹配,即当URL不匹配该模式时才执行规则。 ### 六、CSS与URL重写 在描述中提到的`Css`可能指的是与URL重写相关的CSS样式表,它们可能用于...
3. **编写规则**:在新建规则界面,定义输入和输出的URL模式,以及相应的条件。使用正则表达式匹配源URL,并设定转换后的目标URL。 4. **测试与调试**:使用内置的测试功能,验证URL重写规则是否按预期工作。可以...
URL Scheme是一种在应用程序之间建立通信桥梁的技术,它允许一个应用通过特定的协议(即自定义的URL模式)启动另一个应用,并传递数据。在iOS和Android等操作系统中,开发者可以利用URL Scheme实现应用间的深度链接...
这个开源项目提供了灵活的URL处理机制,帮助开发者通过URL模式来管理应用程序内的导航逻辑,使得代码结构更加清晰,同时也方便了组件化的实现。 首先,URLRoute的核心概念是URL映射。在iOS应用中,我们通常使用...
4. **配置URL重写规则**:URL重写规则通常定义在Web.config文件中,包括源URL模式和目标URL模式,以及可选的条件。 5. **正则表达式**:在定义URL重写规则时,经常需要用到正则表达式来匹配和替换URL模式。 6. **SEO...
murl 是快速的 url 模式匹配和替换。 它可以通过 npm 获得: npm install murl 什么? murl 公开一个接受模式的函数 var murl = require ( 'murl' ) var pattern = murl ( '/{hello}' ) 如果您将字符串传递给...
匹配模式通常使用正则表达式来定义需要重写的URL模式,条件可以进一步限定规则的触发情况,而动作则定义了URL应如何被重写。 2. 标准模板:IIS URL Rewrite提供了多种预定义的规则模板,如“隐式通配符”、“显式...
这个库的核心功能是提供URL模式匹配服务,帮助开发者更有效地处理和解析URL,实现路由控制或者动态参数提取。在前端开发中,URL管理是至关重要的,尤其是在单页面应用(SPA)中,它需要灵活地根据URL来决定加载和...
这意味着在使用`GetVirtualPath()`方法时,如果提供的参数中包含了未出现在URL模式中的参数,则这些参数的值必须与默认值一致。 **生成URL示例:** ```csharp var url = routes.GetVirtualPath(null, "Todo", new ...
**前端开源库-url-pattern**是专门用于处理URL模式匹配的工具,它提供了一种更为直观且易用的方式,相比正则表达式(regex)在处理URL字符串时更加简便。这个库的主要目标是帮助开发者轻松地解析、验证以及构建URL,...
这样的规则可以使用正则表达式定义源URL模式,并指定目标URL格式。 在VS2005下,集成UrlRewrite的方式有两种:一是安装IIS UrlRewrite模块,适用于IIS 7及更高版本;二是使用第三方库,如Microsoft ASP.NET Routing...
规则可以基于URL模式、查询字符串、HTTP标头等多种因素来触发重写。 以下是一个简单的URL重写规则示例: ```xml <match url="^old-page.html" /> <action type="Redirect" url="new-page....
- **API请求管理**:对API请求进行拦截,基于URL模式决定是否需要进一步处理,如添加权限验证或缓存策略。 - **数据过滤**:在数据源(如JSONP、WebSocket)中,可以通过URL模式筛选出特定的数据。 5. **扩展性**...
2. 匹配模式:在`<rule>`中,`<from>`元素定义了要匹配的URL模式,可以使用通配符(如`*`)和正则表达式。`<to>`元素则指定了匹配后的目标URL。 3. 条件判断:`<condition>`元素支持各种条件表达式,如请求方法...
Servlet URL配置涉及到servlet-mapping元素的配置,该元素定义了URL模式与Servlet之间的映射关系。在Web应用中,通常需要将一个Servlet别名映射成一个可访问的URL规则,以实现客户端请求与服务器端处理程序之间的...
- 正则表达式支持:URL模式可以使用正则表达式进行复杂匹配。 - 条件组合:可以结合多个条件来决定规则是否适用。 - 变量引用:可以捕获URL中的部分信息,并在重写URL时使用。 总的来说,URL重写是提升网站安全性和...