Zend的PHP / MVC没有mod_rewrite的(php Zend / MVC withou

2019-08-03 12:41发布

我已经看到了它在四处撒网许多博客提到,但我相信它768,16在这里讨论。 我们可以做些什么的时候,我们有一个MVC框架(我感兴趣的ZEND)在PHP,但我们的主机不提供mod_rewrite的? 是否有任何“捷径”? 我们可以以任何方式转让控制(这样的映射可能会在页面之间进行)? 有任何想法吗? 谢谢 :-)

Answer 1:

Zend框架应该没有mod_rewrite 。 如果你可以用你的网址生活:■看起来更像是“/path/to/app/index.php/controller/action”。 如果你有mod_rewrite的,你可以做废除了“的index.php”位,但它应该有太多的工作。

它是建立路由接受的index.php部分的所有问题。



Answer 2:

OK我的判决:-):我已经成功地使用Zend公司没有mod_rewrite的,它是如你所说的所有网站/ index.php文件/控制器/动作。 我知道,这个发布之前。 (如CSS,图像等),我也发现了周围净是“推” 404页,因此到index.php究竟是不是一种资源的技术到达那里,有一个例外:POST值。 所以我决定,下一次应用在特定的服务器上进行,要礼貌地询问mod_rewrite的。 如果管理员不能提供它,谈跟我的老板,或者如果它是对我来说,开关供应商。 一般来说它是一种耻辱一些倍PHP市场这么多碎片(PHP4,PHP5,PHP6,mod_rewrite的,的mod_auth,mod_whatever),但这是另一个故事...



Answer 3:

mod_rewrite的是在今天的托管服务几乎是必不可少environment..but可惜不是每个人得到的消息。

大型PHP程序(我想Magento的,但最能应付)的地段有mod_rewrite的时候不可用一个漂亮的URL回落模式。

网址最后看起来像个www.site.com/index.php?load-this-page

它们必须运行一些魔术抢从$ _GET变量的变量名称,并用它作为选择什么模块/功能来执行。

在一个相关的说明,它是一个使用#我见过很多在新的Facebook网站乱七八糟的URL。 所以链接看起来像www.new.facebook.com/home.php#/inbox/显然我们不是要看到,但它表明,他们很可能解析$ _ SERVER [“REQUEST_URI”]变量。



Answer 4:

如果你能找到一个非mod_rewrite的方式来重定向所有请求到index.php(或其他地方你的初始化脚本),你可以像上面提到的,使用“REQUEST_URI”域后抢地址的一部分,然后解析它,只要你喜欢,让你希望它是什么要求做。 这是WordPress的是怎么做的(当然,用mod_rewrite的)。 只要你可以请求重定向到您的索引页,同时保持相同的URI,你可以做你需要处理请求的内容。



Answer 5:

Drupal的重写规则翻译

http://example.com/path/goes/here

http://example.com/index.php?q=path/goes/here

...并具有逻辑决定产生哪些URL的味道。 如果你可以用丑陋的URL生活,这将让你保持一个独立的前端控制器的所有逻辑到位W / O依靠URL重写。



文章来源: php Zend / MVC without mod_rewrite