`
tyllxx
  • 浏览: 86373 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

ThinkPHP3 伪静态和URL重写 多重匹配的简单设置

阅读更多

根据ThinkPHP3.0的手册URL重写的那一节配置Apache

然后再网站根目录下放置.htaccess文件,内容如手册所提示的一样

win2003的空间iis6不支持.htaccess,尽可能选用linux系统的服务器

 

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
转载请注明出处:http://tyllxx.iteye.com
</IfModule>

 

 

虽然可以用URL_HTML_SUFFIX实现伪静态,但是这里的方法是使用.htaccess文件来实现。

以上代码可以实现让:

http://serverName/index.php/Blog/read/id/1

变为:

http://serverName/Blog/read/id/1

 

那么还要让其变为:

http://serverName/Blog/1.html

 

若还有:

http://serverName/buy/1.html

http://serverName/topic/diy.html

怎么实现呢?

 

以下是实现方法:(.html后缀,自己在写连接时自己加上,用URL_HTML_SUFFIX方式,去掉方法中的.html)

 

 

<IfModule mod_rewrite.c>

   RewriteEngine on

   RewriteCond %{REQUEST_FILENAME} !-d

   RewriteCond %{REQUEST_FILENAME} !-f

   RewriteRule ^(.*)$ index.php/$1 [QSA,PT]

   RewriteRule ^(.*)/topic/(.*)\.html$ $1/topic/Index/index/links/$2 [QSA,PT]

   RewriteRule ^(.*)/buy/(.*)\.html$ $1/buy/Index/index/id/$2 [QSA,PT,L]

转载请注明出处:http://tyllxx.iteye.com
</IfModule>

 

此方法已经验证过,只需要修改匹配字段和替换字段即可使用。

分享到:
评论
1 楼 彭较瘦 2014-03-23  
看了你写的方法,我实验了没有效果,不知道什么原因,可以在详细说一下吗?

相关推荐

    thinkphp3.2.3 去除url伪静态后缀

    thinkphp3 1分钟告诉你如何去除url(就是类似网站的链接的htt....................html 的html)的后缀

    thinkphp3.1.3升级php7及nginx配置伪静态.zip

    3. **配置伪静态**:添加如下规则,处理ThinkPHP的URL重写: ``` location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } ``` 这段代码会让Nginx将所有未找到的静态...

    tp框架伪静态设置规则,iis和apache、windows、linux都有效。Public目录图片资源目录有效

    在本文中,我们将深入探讨如何在ThinkPHP(简称TP)框架下配置伪静态规则,以适应IIS和Apache服务器环境,无论是Windows还是Linux操作系统。在实际的Web开发中,伪静态技术对于SEO优化和用户体验提升具有重要作用,...

    thinkPHP伪静态

    总的来说,ThinkPHP的伪静态功能通过URL重写和路由规则配置,实现了动态URL到静态URL的转换,既提升了用户体验,又有利于SEO优化。理解并掌握这些知识点,对于开发出高质量、易维护的Web应用至关重要。

    thinkphp+mysql中英文伪静态企业网站、完整无BUG源码

    【标题】"thinkphp+mysql中英文伪静态企业网站、完整无BUG源码"涉及到的主要技术包括ThinkPHP框架、MySQL数据库以及伪静态技术,这些在构建一个高效、稳定且易于SEO优化的企业级网站中扮演着关键角色。 ThinkPHP是...

    apache虚拟目录和伪静态的配置

    伪静态技术是一种将动态URL转换为静态或看似静态的URL的方法,以提高搜索引擎优化(SEO)和用户友好性。Apache通过使用`mod_rewrite`模块来实现这一点。`mod_rewrite`允许我们创建自定义的重写规则,将URL重定向到...

    2020T5友价商城源码系统nginx伪静态重写规则.zip

    "2020T5友价商城源码系统nginx伪静态重写规则.zip" 提供了一个完整的商城源码系统,它具有丰富的功能,如微信支付宝支付、自动发货、域名交易和源码交易等。这个系统基于T5框架,这意味着它可能是基于PHP开发的,...

    Thinkphp---URL重写组件

    本文将深入探讨ThinkPHP中的URL重写组件,以及如何在64位和32位系统中配置和使用这个组件。 URL重写是Web开发中的一种优化技术,用于隐藏实际的URL结构,使网址看起来更简洁、更友好。在ThinkPHP框架中,URL重写...

    ThinkPHP5 自定义配置页面(静态文件)

    在本教程中,我们将深入探讨如何在ThinkPHP5框架中自定义配置页面,特别是静态文件的设置。首先,我们需要理解ThinkPHP5是一个基于MVC模式的轻量级PHP开发框架,它提供了丰富的功能和灵活的架构,使得开发者可以快速...

    URL重写配置

    通过URL重写,可以将包含特定参数的URL转换为静态页面的形式,提高网站的专业性和可读性。 #### 二、ThinkPHP中的URL重写配置 在ThinkPHP框架中,实现URL重写主要依赖于Apache服务器上的`.htaccess`文件配置。首先...

    ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

    ThinkPHP 支持通过 `.htaccess` 文件和 Apache 的 `mod_rewrite` 模块来实现 URL 重写,从而隐藏 URL 中的 `index.php` 入口文件,生成伪静态链接。以下是一系列详细的步骤来解释如何实现这一功能: 首先,了解 `....

    ThinkPHP的URL重写问题

    在使用ThinkPHP框架时,URL重写是一个常见的需求,它主要目的是为了使URL更加美观,隐藏实际的控制器和操作方法,提升用户体验。本篇文章将详细解释如何在Apache服务器上进行URL重写,以及解决ThinkPHP中相关的问题...

    基于ThinkPHP的SQL优化器与重写器设计源码

    该项目是基于ThinkPHP的SQL优化器与重写器设计源码,共包含30个文件,其中包括11个PHP源文件、5个YAML配置文件、3个Markdown文档、2个PNG图片文件、1个EditorConfig配置文件、1个Git属性文件、1个Git忽略文件、1个...

    thinkphp5.1 在phpstudy nginx 隐藏index.php 问题(已解决)

    thinkphp5.1 url(‘index/login/login’)生成路径访问时不包含index.php,结果报404错误,按官网文档加URL重写代码,但不知道加在哪(大实话,呵呵愚笨),于是在面板上找到站点,试图加在站点的伪静态里,不行。...

    ThinkPHP URL设计和SEO支持

    对于那些不支持URL重写的服务器环境,ThinkPHP提供了伪静态URL的设计方案。这种方式能够在不改变服务器配置的情况下,让动态页面呈现出静态页面的效果,从而改善SEO表现。 #### 默认模块和操作 在某些情况下,如...

    让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享

    标题中的“让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享”是指在使用Nginx作为Web服务器时,如何配置Nginx以适应ThinkPHP框架的URL重写规则和PATHINFO模式。ThinkPHP是一款流行的PHP开发框架,它的URL重写功能...

    浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法

    1,心血来潮,把ThinkPHP项目部署到了nginx上,以上是在apache上跑的。突然发现nginx不支持pathinfo功能,难怪在TP中调怎么都没管用。 2,开始上文件了,比网上其他一些杂的好多了: server { listen 80; #listen...

    IIS7.5使用web.config设置伪静态的二种方法

    这两种方法各有优势:第一种比较灵活,只要把文件拷到根目录下,即可直接显示所有伪静态页面(适用于此伪静态规则的所有项目,如ThinkPHP),无需更改代码;第二种适合有子目录时的伪静态,比如一个网站下有多个子...

Global site tag (gtag.js) - Google Analytics