2013-03-12 100 views
-1

很長時間我正在嘗試定義重寫規則,但是我無法成功呢?我有一個簡單的頁面http://www.myURL.com/pdf.php?id=2。我希望把它友好本:http://www.myURL.com/pdf/2/ ...如何使用.htaccess定義友好的URL規則?

我寫這個規則花時間在谷歌之後:

Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^pdf/([0-9]+)\$ pdf.php?id=$1. 

當我上傳到服務器我的.htaccess文件,並嘗試運行第一它給我500錯誤。第二次它加載頁面,但它不能顯示我友好的網址;它如前所示。 請告訴我更好的解決方案,我遵循了很多說明,使其有用,但無法成功。除非我向他展示友好的網址,否則我的客戶不會再繼續。請儘快幫助我。這是我的客戶託管組織:Justhost.com。

+0

您是否允許在主機上設置「+ FollowSymLinks」?在'$'之前丟失'\'。 – Wrikken 2013-03-12 20:52:13

回答

1

您可以使用Apache的重寫引擎來完成此操作。事情是這樣的:

RewriteEngine On 
RewriteRule ^pdf/([0-9/]+)$ /pdf.php?id=$1 [L] 

這將允許你去http://yoursite.com/pdf/192而不是http://yoursite.com/pdf.php?id=192

+0

如果你打算倒下,至少解釋原因。 – 2013-03-14 15:58:42

0

Here是使用Apache的mod_rewrite創建友好的URL一個非常簡單的教程。

+0

感謝您的回覆。我添加了您的Rule Jordan並遵循了您的教程。但它沒有顯示。我問我從我的託管公司,他們告訴我,他們MOD加載,在哪裏做錯誤?我只是添加 選項+ FollowSymlinks RewriteEngine在 RewriteRule^pdf /([0-9 /] +)$ /pdf.php?id = $ 1 [L] 在我的htaccess並上傳到根文件夾。 ????請指導。我需要添加一些其他代碼來工作嗎?等候。請。 ?????我的htaccess文件正在加載,但無法使用我的重寫規則... – user2162776 2013-03-13 20:57:15

0

現在可能有點太多了,但你可以看看一些可用的MVC框架來幫助你解決這個問題。我猜測主機只提供PHP 5.2,所以我會看看Zend Framework 1.12中的路由/控制器解決方案來解決這個問題,因爲它可以在現有代碼中實現,而不會有太多的麻煩。