2013-01-03 65 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> 

讓我知道,如果你需要幫助嗎。