php - 如何在本地主机和实时服务器上获得相同的 $_SERVER ['REQUEST_URI' ]

标签 php url-routing

事情就是这样,我正在构建需要根据请求 URI 调度 http 请求的调度程序类,所以我只对域后面的 URI 部分感兴趣。

现在,当我在像这样的 URI 上的实时服务器上工作时:

www.domain.com/controller/method/params/

REQUEST_URI 将返回:

/controller/method/params/

但是当我在本地机器上工作时,我有这样的 URI:

localhost/project/controller/method/params/

REQUEST_URI 将返回:

/project/controller/method/params/

那么有没有一种优雅而简洁的方法来告诉 php 从 URI 中只获取我需要的参数? 它不一定必须是 $_SERVER['REQUEST_URI'],但我需要该字符串在实时服务器和本地服务器上都相同吗?

谢谢!

Dispatcher 将当前请求 URI 与配置文件中定义的 URI 进行比较。在实时服务器上它匹配,但在本地机器上比实时服务器多一个段。

我该如何处理?

最佳答案

通常我将我的本地网络服务器配置为响应“test.mysite.com”,并在主机文件中将 test.mysite.com 设置为 127.0.0.1,这样我可以更好地模拟生产环境,并且我不会被强制在 url 中使用子路径

如果你使用 apache 网络服务器,你可以简单地设置 N 个虚拟主机。

关于php - 如何在本地主机和实时服务器上获得相同的 $_SERVER ['REQUEST_URI' ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10109907/

相关文章:

php - 用于 SEO 的 Zend Framework URL 重写

Symfony 2 : Accessing a firewalled route with two separate providers

regex - Backbone.js 和正则表达式路由

php - 如何从sql查询中获取数值

php - 需要 isset 和 !='

PHP 5.4 : Getting Fully-qualified class name of an instance variable

php - CodeIgniter 路由不起作用

php - MySQL 显示奇怪的结果

php - SQL不可能有LIKE语句?

AngularJS 路由与后端路由