2013-01-03 62 views
0

什么是使用Zend Framework生成漂亮URL的最佳方法?漂亮和SEO友好的网址zend框架php

没有Zend框架与MVC模式我只是使用的.htaccess:

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?request=$1 [QSA,L] 

然后解析PHP中的请求参数。

我现在正在使用Zend Framework,并在我的引导程序中尝试使用zend_route,如建议的here并记录在Zend website上。

我的任务是将请求转换: example.com/pets-new-yorkexample.com/index/search/?q=pets%20new%20york(电流)

我不能让它工作,我如何管理不存在的文件(-f)和迪尔斯(-d)喜欢它在第一个.htaccess示例中工作?更一般地说,使用Zend Framework创建漂亮的URL并使用不存在的目录的最佳方法是什么?

+0

通常在ZF中,您不会“转换”路径,但路径会解析参数并将请求映射到特定的控制器和操作。 – KingCrunch

+0

谢谢!那么我想用什么呢? – Daniele

+1

你自己发布了链接。你可以开始这个简单的例子:http://framework.zend.com/manual/1.12/en/zend.controller.router.html#zend.controller.router.usage路径模板'user /:username'(':' username)映射到请求,如果路由匹配,配置的controller-action被调用,你可以通过'$ this-> getRequest() - > getParam('username')获取':username'的值。 '。有关更复杂的示例,请参阅下面的相同页面。 – KingCrunch

回答

0

请试试这个。下面的代码将创建SEO友好的URL

注意:您必须确保重写Apache模块如果你的服务器上启用

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
</IfModule> 

让我知道,如果你需要帮助吗。