2012-05-24 91 views
1

我不知道如何解釋這個問題,所以標題是含糊不清!Htaccess全球重寫規則

那麼我在這裏,我正在我的網站上的圖片/相冊頁面上工作,一切都很好。但我想添加一個像任何好的圖片網站一樣的下一個/上一個圖片功能。我想通過變量來分類專輯的不同選項。

現在,圖片上的網址是http://localhost/photo/174/picture-name/,我想添加一些參數,以便網址看起來像http://localhost/photo/174/picture-name/album:5/sort:name/

隨着的.htaccess的幫助下,我想提取變量albumsort`.`But the little catch is that I would still want to be able to get to the page with only this url的http://本地主機/照片/ 174 /圖片名稱/``

現在我的.htaccess文件看起來是這樣的:

RewriteEngine on 

RewriteRule ^photo/([A-Za-z0-9]+)/(.*)/$ photo.php?pic_id=$1 

我試着在其中加入這一行,但沒有成功。

RewriteRule ^(.*)/album:([A-Za-z0-9]+)/sort:([A-Za-z0-9]+)/$ &album=$2&sort=$3 

我希望有人對我一個答案,

有一個好的一天

里斯

+0

當你說它不起作用時,它會做什麼? 嘗試將其重寫爲'$ 1&album = $ 2&sort = $ 3',而不是您目前擁有的。另外,如果是我,我會爲專輯和排序編寫兩個單獨的規則,因爲它們可能並不總是按順序排列在一起。 – Ansari

+0

解釋「沒有解決」。用你的規則排序顯示完整的'.htaccess'文件。你的示例URL中的'album:'和'sort:'字面值在哪裏? – mario

+0

@Ansari與我有規則我會得到一個404錯誤頁面,說''專輯= 5&排序=名稱'沒有被發現。 –

回答

1

你的意思是這樣?

RewriteRule ^photo/([A-Za-z0-9]+)/[^/]+/album:([A-Za-z0-9]+)/sort:([A-Za-z0-9]+)/$ photo.php?pic_id=$1&album=$2&sort=$3 

你還需要改變你原來的規則:

RewriteRule ^photo/([A-Za-z0-9]+)/([^/]*)/?$ photo.php?pic_id=$1 

因爲你有什麼會匹配對URI與參數

+0

非常感謝,它的工作原理完全符合我的要求。 –