Home > Backend Development > PHP Tutorial > PHP5.4+内置webserver,Yii中如何隐藏index.php,让URL rewrite

PHP5.4+内置webserver,Yii中如何隐藏index.php,让URL rewrite

WBOY
Release: 2016-06-23 13:13:14
Original
1374 people have browsed it

Yii 中为了美化URL,可以把	/index.php?r=post/view&id=100转变成下面path的形式:	/index.php/post/100Yii的配置中加入:```<?php        'urlManager'=>array(            'urlFormat'=>'path',//            'urlFormat'=>'get',            'urlSuffix' => ".do",            // Disable index.php            'showScriptName' => false,            // Disable r= routes            'useStrictParsing' => true,            // 'urlFormat'=> isset($_GET['sdkVersion']) && ($_GET['sdkVersion'] > '1.0.0') ? 'get' : 'path',            'rules'=>array(                '<controller:\w+>/<id:\d+>'=>'<controller>/view',                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',            ),        ),```详细说明可参考官方文档:  <http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html>美化后的路径仍然包含index.php,不够优雅,所以需要去掉,apache 和 nginx中都有rewrite的实现,网上很多,不再重复。为了调试便捷,比如本人,基本不在开发机上部署apache、nginx这些。而是直接用PHP 5.4加入的内建Web Server,启动命令:	php -S 127.0.0.1:80要隐藏index.php 这个,就需要用到 URL rewrite了,PHP内建webserver没这个功能,却也给我们提供了技巧,PHP官方参考:  <http://php.net/manual/en/features.commandline.webserver.php>比如我的Yii在appcall子目录中,所以在appcall下面创建 route.php,内容如下:~~~cat appcall/route.php<?phpif (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {    return false;} else {    include __DIR__ . '/index.php';}~~~注意启动命令后面要加上这个 route.php:	php -S 127.0.0.1:80 appcall/route.phpOK,这样就满足我们想要的了。原文出自:[扣丁禅师](http://www.yinqisen.cn)
Copy after login

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template