2016-07-23 85 views
1

這是我的問題。如何將大網址變成帶有附加參數的較小網址?

我有一個複雜的URL - 例如:www.mywebsite.com/first/second/something/index.html

,我想將其轉換成類似www.mywebsite.com/index.html? a = 64 & e = 453

我在一些網站上看到了這個。

但我無法弄清楚是如何完成的。任何幫助將不勝感激。

+0

你需要去找一些像支持路由的AngularJS或Backbone這樣的框架。 –

+0

使用數據庫..另存爲.. id = 3 url = bldjfjdhdijdhdb(woteveryiucanputher)並呼叫out.php?bla = 3 – Gogol

回答

0

答案很可能取決於您使用的Web服務器。如果你使用的是Apache,你可以用mod_rewrite來完成。你可以找到大量的文檔資料上究竟該如何設置在線:

http://httpd.apache.org/docs/current/mod/mod_rewrite.html https://www.sitepoint.com/apache-mod_rewrite-examples/

例如,如果你想映射一個URL參數的路徑,你可以做這樣的事情

RewriteCond %{QUERY_STRING}  a=64 [NC] 
RewriteRule ^/index.html$  /first/second/something/index.html  [NC,L,R=301] 

(我還沒有嘗試過,所以語法可能不是100%正確的。)但是,然後你必須手動創建一個規則爲每個數字路徑映射,你想要的,這可能是很多工作,所以這可能不是最好的解決方案。

+0

我正在閱讀它,我認爲這是技術。但它是一個超長的閱讀,雖然。你可以更清楚地闡述一下嗎?然後我會接受這個答案。 – Adam

+0

這並不是100%清楚你想要做什麼,但我可以嘗試添加一些細節。 – sew

+0

謝謝你。它不完全一樣,但你給我的線索來解決我的問題。我認爲人們會從答案中受益。我不知道這個mod_rewrite就像15歲以上的概念! – Adam

0

這些URL由服務器端編程語言(如PHP)生成。這些網頁是動態生成的,通常並不理想(因爲'乾淨'的網址更容易閱讀和編輯,而且更適合搜索引擎優化)。

從技術上講,您可以將?a=64添加到常規網址,並且不會阻止頁面呈現 - 但我不確定爲什麼有人會想要這樣做。

+0

我的客戶名稱也是Tobi :)他是會員營銷人員,他只想要更短的鏈接。我知道PHP,那麼我該如何解決這個問題? – Adam

+0

您需要發佈一些代碼進行審查 - 在這種情況下,很難說出什麼是「正確的」答案。 – Toby