我正在建立一个美发沙龙的网站.我花了所有我需要的时间,所以我开始建立我的MVC框架,只是为了更好地理解MVC. MVC的核心是URL重写.
RewriteRule ^(.*)/?$index.PHP?url=$1 [L]
这将导致…
www.example.com/register
$_GET['url'] = 'register'
我决定进行页面发布/重定向/获取模式.所以当我重定向时,URL应该是这样的……
www.example.com/register/John/Doe/mail
或类似的东西.该值完全在$_GET [‘url’]变量中.有没有办法使网址看起来像这样…
www.example.com/register/?name=John&lastName=Doe&mail=johdoe@gmail.com
哪个可以使用$_GET [‘name’],$_ GET [‘lastName’]等访问?
我知道$_SERVER [‘REQUEST_URI’]变量中有整个uri,但是我想知道是否有一种更干净的方法来获取值?
解决方法:
您将需要进行自己的分析.我强烈建议您改用$_SERVER [‘QUERY_STRING’],这也使您可以简单地省略url =部分.
另外,您可以设置更多的重写规则,但这有其缺点,例如没有动态处理而不动态生成这些规则(对于除Apache以外的其他Web服务器,例如Nginx,这也是不可能的)