Rumah  >  Artikel  >  pembangunan bahagian belakang  >  如何实现此urlrewrite功能?

如何实现此urlrewrite功能?

WBOY
WBOYasal
2016-06-06 20:39:461051semak imbas

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

这个是重写掉index.php的

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

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

回复内容:

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

这个是重写掉index.php的

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

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

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

1.获取当前二级域名:

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

2,

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

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

setBaseUri,setDefaultModule

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn