>php教程 >php手册 >ThinkPHP中的pathinfo模式和URL重写

ThinkPHP中的pathinfo模式和URL重写

WBOY
WBOY원래의
2016-06-21 08:48:421065검색

语文一直不太好,要我怎么解释这个pathinfo模式还真不知道怎么说,那就先来一段代码说下pathinfo模式吧

 

1 http://serverName/appName/module/action/id/1/

这个就是pathinfo模式

 

在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如:

 

1 http://serverName/appName/module/action/year/2008/month/09/day/21/

通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。

下面是Apache的配置过程,可以参考下:

1、httpd.conf配置文件中加载了mod_rewrite.so模块

2、AllowOverride None 将None改为 All

3、确保URL_MODEL设置为2

4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下

 

1

2 RewriteEngine on

3 RewriteCond %{REQUEST_FILENAME} !-d

4 RewriteCond %{REQUEST_FILENAME} !-f

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

6

对于重来没接触过.htacces文件的可以百度一些,这里提醒一下,保存的文件名就是 .htaccess,可能看起来只有后缀,就是这样,别又在前面加个  ***.htaccess。

 

重启Apache之后,原来的

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

就可以通过访问

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

简化了URL地址



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