2013-05-28 111 views
1

我正在嘗試虛榮網址。虛榮網址身份證號碼

我想這http://mydomain.com/series/profile.php?profile_id=751130015成爲這樣的事情

http://mydomain.com/series/751130015

我試圖創建的目錄中的新文件」的.htaccess',並添加以下代碼:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /profile.php?profile_id=$1 

然而, ,當我嘗試訪問時我仍然收到錯誤

http://mydomain.com/series/751130015

我錯過了什麼嗎?

我得到的錯誤是:未找到

對象!

在此服務器上找不到請求的URL。如果您手動輸入網址,請檢查拼寫並重試。

如果您認爲這是服務器錯誤,請與網站管理員聯繫。

錯誤404

+0

什麼是錯誤你得到了嗎?這是你的第一個線索。 – George

+0

首先關閉:你有什麼錯誤?添加到你的問題。其次,如果它是一個通用錯誤,請檢查您的error_logs以獲取更多信息。 – Nanne

+0

我添加了上面的錯誤 – user2310422

回答

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

解釋:

任何開始(^)「串聯」然後破折號(/)接着數字(([ 0-9] +)) - 還記得這些數字作爲第一個變量「$ 1」,最終結尾($)將被重定向到/series/profile.php?profile_id= $ 1

所以http://mydomain.com/series/751130015

將被重定向到http://mydomain.com/series/profile.php?profile_id=751130015

UPDATE:周圍的其他方法:

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/series/profile\.php$ 
RewriteCond %{QUERY_STRING} ^profile_id=([0-9]*)$ 
RewriteRule ^(.*)$ http://mydomain.com/series/%1? [R=301,L] 

解釋(第一個條件)如果/series/profile.php被調用(第二個條件)參數以「profil e_id =「,然後是數字,然後按照如下方式進行重寫:轉到http://mydomain.com/series/並添加數字在末尾的任何內容,並在那裏停止(?) -we我們故意停在那裏以避免query_string被添加到重寫結果中。通知訪問者,這是一個狀態爲301的永久性重定向。然後終止該htaccess的執行(L)

所以http://mydomain.com/series/profile.php?profile_id=751130015會重定向(R = 301 - 永久重定向)到http://mydomain.com/series/751130015

(你可以用R = 302臨時重定向)

+0

不,得到相同的錯誤 – user2310422

+0

我測試這個,我看到它的工作...?剛剛在[在線htaccess測試]上測試過(http://htaccess.madewithlove.be/) – Sharky

+0

原始網址是http://mydomain.com/series/profile.php?profile_id=751130015,我想要它將被重定向到http://mydomain.com/series/751130015。有點與你所說的相反 – user2310422