您好,欢迎访问一九零五行业门户网

url重写 - php 伪静态不借助.htaccess怎么做

如题所述,php 伪静态不借助.htaccess怎么做,就是纯php能写吗
回复内容: 如题所述,php 伪静态不借助.htaccess怎么做,就是纯php能写吗
php只能处理php请求,像/post/1024这样的请求,如果apache或者nginx不通过重写rewrite把uri信息传给指定的php文件,那么php就不可能通过$_server['request_uri']取到这个信息。如果你用的是php内置的cli http server,倒是可以进行路由,在启动时指定路由文件,比如index.php:
https://wiki.php.net/rfc/builtinwebserver
php -s 127.0.0.1:8080 -t /www /www/index.php
上面这段php代码跟下面常用的采用index.php作为前端控制器(路由)的框架重写规则含义相近:
# apacherewriteengine onrewritebase /rewritecond %{request_filename} !-frewritecond %{request_filename} !-drewriterule . /index.php [qsa,l]# nginxlocation / { try_files $uri $uri/ /index.php?$args;}
你可以在每个需要重写的目录里面新建一个index.php.处理内容进行转发。
比如 要转发的地址 http://xxx.xxx.xxx/dira/dirc/
在dira中写一个index.php,手动转发给目的地。
php很多框架都有路由功能,会把url按照/拆分,解析出控制器、方法、参数,然后框架的控制程序就会调用对应的控制器的相应方法,并把参数传递过去。 当然参数多的时候只保持控制器和方法以目录分隔,其他参数还是能够以查询字符串的形式传递过去的。 可以看下ci框架的router类。
其它类似信息

推荐信息