脚本宝典收集整理的这篇文章主要介绍了php-基本的MVC结构,URL最小化和GET,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个简单的MVC结构,我的意图是也拥有简单的URL(不带文件和.PHP扩展名),基本规则:
>一切都通过index.PHP
> /index.PHP/1/2是典型的URL,1加载控制器类(如果存在该控制器),2调用方法(如果存在该方法)
这是我从htaccess文件上的URL中隐藏index.PHP的方式:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$/index.PHP?/$1 [L]
这可以让我做/ 1/2
要确定我在PHP中的网址,我需要执行以下操作:
$url_parts = array_filter(explode("/", $_SERVER["REQUEST_URI"]));
这使我可以访问所有ny URL段,我根据$url_parts [0](控制器)和$url_parts [1](方法/功能)加载不同的文件
我现在只关心一个问题,如果我访问以下内容,那将在页面上使用$_GET:
/1/2?foo=bar
我的$_GET返回:
Array ( [/1/2] => )
而我显然希望它是:
Array ( [foo] => bar )
可以完全挽救我的代码吗?我显然不知道$_GET的工作原理如何,我期望它能正常工作.
解决方法:
查看QSA(查询字符串追加)标志,例如
RewriteRule ^(.*)$/index.PHP?/$1 [L,QSA]
以上是脚本宝典为你收集整理的php-基本的MVC结构,URL最小化和GET全部内容,希望文章能够帮你解决php-基本的MVC结构,URL最小化和GET所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。