2012-12-05 75 views
3

可能重複:
using seo user friendly in php
Custom routing in code ingniter用戶友好的網址而不是查詢字符串?

我deving一個CMS和我想利用用戶友好的URL,而不是查詢字符串。

例如: - 的

mysite.com/cat_1 => mysite.com/cat_1/itme_1

代替

mysite.com/?cat=1 => mysite.com/?item=1

我應該如何實現呢?任何標準的方式?

我的想法是使用半動態頁面並使用用戶友好的使用查詢字符串的動態頁面的URL生成靜態快照。

+0

@MikeBrown - 不完全......他不需要路由,只需要基本的URL重寫。 –

+0

@ jeroen - 同樣,不是重複的。這是路由的另一個例子。這是URL重寫,不涉及PHP。 –

+2

@TheSmose我同意,但我認爲如果他正在編寫CMS,他希望使用路由而不是要求CMS管理員編輯.htaccess或使用mod_rewrite添加新路徑。 –

回答

2

您想使用.htaccess在內部重寫您的URL並將它們正確地路由到您的應用程序。

這裏有一個具體的例子.htaccess會做你要找的內容:

RewriteEngine on 
RewriteRule ^cat_([0-9]*) /?cat=$1 [N,QSA] 
RewriteRule ^item_([0-9]*) /?item=$1 [N,QSA] 

只要把上面的在根Web文件夾名爲.htaccess文件,你會好到哪裏去。

請注意,您可能必須啓用mod-rewrite在Apache服務器,如果它尚未啓用(大多數共享主機提供商已啓用它)

1

此功能無法使用PHP只能實現。您需要爲HTTP服務器配置URL重寫,這會將用戶友好的URL轉換爲腳本可以理解的查詢字符串。在Apache的情況下,您應該查看mod_rewrite,通常可以通過.htaccess文件進行配置。

1

使用asp.net的MVC你免費得到它;)但非常認真,我認爲PHP有​​一個Web引擎(code igniter),它也提供了高級路由。此外,你可以使用一些角色自己的Apache black magic

+0

我認爲OP是要求PHP解決方案(因爲他標記'php') – Raptor

+0

因此,我知道眨眼和繼續「但一切認真」 –

相關問題