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

WBOY
Freigeben: 2016-06-23 13:13:14
Original
1339 Leute haben es durchsucht

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)
Nach dem Login kopieren

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage