php url重写

Posted 行走江湖的码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php url重写相关的知识,希望对你有一定的参考价值。

在使用tp框架的生活, 重写url 遇到一点的问题,分享出来,
首先看下我们原本的项目的url路径

http://localhost/syg/index.php/Home/Index/jtjj
这个url 明显偏长不利于seo优化,

简化后的额效果
http://localhost/syg/Index/jtjj

如何操作呢 ?

要分为这么几个步骤
1.首先去除Home 这个比较简单
在index.php下添加绑定模块
define(‘BIND_MODULE’,’Home’); Home 为指定的模块

2.去除index.php

添加.htaccess 文件,不要使用window自带的创建,window下不允许, 可以借助第三方的工具
推荐nodepad++

引用官方的

RewriteEngine On
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^(.*) index.php/ 1 [QSA,PT,L]

简单介绍下 RewriteEngine On 是开启重写

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

^(.*)$ 这个是 正则 规则 匹配url所有字符

index.php 为原本的url路径

3.对apache 配置文件 httpd.conf修改两处
LoadModule rewrite_module modules/mod_rewrite.so
将#去除

DocumentRoot “D:\\WWW”

Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride None
Order allow,deny
Allow from all

DocumentRoot “D:\\WWW” 表示环境路径
在这里将None 就该为All
AllowOverride All

3.对配置文件进行修改
‘URL_MODEL’ => 2, //重写url模式
thinkphp默认有0,1,2,3 四种url模式

好了,重写url完成!

以上是关于php url重写的主要内容,如果未能解决你的问题,请参考以下文章

PHP子url重写

PHP 简单的PHP URL重写

Apache 重写 - 在 PHP 中获取原始 URL

htaccess URL 重写 page.php?page

使用 PHP 和 .htaccess 重写 URL

php url重写