当前位置:Gxlcms > PHP教程 > 如何实现此urlrewrite功能?

如何实现此urlrewrite功能?

时间:2021-07-01 10:21:17 帮助过:3人阅读

需求是这样
xxxx.com/controller/action => 改写为 controller.xxxx.com/action
入口文件已经是rewrite掉了,就是在这基础上再改写一次
非常着急 在线等各位大牛 拜谢。

这个是重写掉index.php的

  1. <code>RewriteCond %{REQUEST_FILENAME} !-d
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
  4. </code>

换个问法把 就是在开启泛解析的情况下 将控制器绑定为2级域名 如何实现
用的是phalcon框架 因为刚上手路由没完全弄懂
望各位不吝赐教

回复内容:

需求是这样
xxxx.com/controller/action => 改写为 controller.xxxx.com/action
入口文件已经是rewrite掉了,就是在这基础上再改写一次
非常着急 在线等各位大牛 拜谢。

这个是重写掉index.php的

  1. <code>RewriteCond %{REQUEST_FILENAME} !-d
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
  4. </code>

换个问法把 就是在开启泛解析的情况下 将控制器绑定为2级域名 如何实现
用的是phalcon框架 因为刚上手路由没完全弄懂
望各位不吝赐教

参考 http://docs.phalconphp.com/en/latest/reference/routing.html#hostname-c...

1.获取当前二级域名:

  1. <code>php</code><code>/**
  2. * Detect sub domain for routing
  3. */
  4. $sudomaininfo = explode('.',$_SERVER['HTTP_HOST']);
  5. define('SUBDOMAIN', array_shift($sudomaininfo));
  6. </code>

2,

  1. <code>php</code><code> $router->add('/:action', array(
  2. 'namespace' => '.......',
  3. 'controller' => SUBDOMAIN,
  4. 'action' => 1
  5. ));
  6. </code>

不知道你项目的具体的情况,我想更好的办法是做成Multiple modules的形式,根据SUBDOMAIN的体来设定

setBaseUri,setDefaultModule

人气教程排行