2013-10-25 74 views

回答

0

可以在的Javascript使用此代碼重寫當前網址:

if (location.href.indexOf("this/is/a/very/long/url.php") > -1) 
    location.assign(location.href.replace(/this\/is\/a\/very\/long\/(url\.php)/, "short/$1")); 
+0

'語法錯誤:意外令牌ILLEGAL' – BrownEyes

+0

啊有一個錯字,糾正它。現在試試。 – anubhava

+0

@anubhava,嗨,我有幾個問題給你的答案。 1)什麼是1美元? 2)我應該在哪裏放置這些代碼?爲了進一步解釋,this/is/a/very/long/url.php,使用表單調用。它具有從表單傳遞下來的值。所以我很抱歉我在這裏有點困惑。但thx爲您的答案 – user2901740

0

mod_rewrite是Apache的一部分,所以它需要t o在Apache配置中配置。 .htaccess實際上是Apache「live」config「per directory」。

一般來說,重寫網址的最佳方式是將所有內容重寫爲一個文件,比如index.php,然後「重定向」到基於URL的特定文件。你可以在網頁上閱讀很多關於「URL路由」的PHP。

1

這是一個很好的問題,但有多個選項,但.htaccess文件可能是您最好的選擇。

this SO post describes it

處理URL重寫服務器端的是這裏的關鍵,因爲這將是更快執行和一些URL的使用時不會破壞你的腳本。

所以www.yourdomain.com/test/4/twenty/long/url/could/be/shorter/

所有參數後www.yourdomain.com,可以經由各種PHP方法,包括檢索閱讀PHP的$_SERVER將是一個好主意,因爲很多變量都放在該全局數組中。

2

是的,主要是在框架

使用前端控制器

前稱爲方式使用:你的前端控制器的index.php

你的網頁鏈接作爲一個時尚的產生... /index.php/nything/url.php

,但實際的鏈接是... /這/是/長/ url.php

前端控制器提取客戶端請求,並顯示與之相關的

相關頁面的頁面信息閱讀更多:http://en.wikipedia.org/wiki/Front_Controller_pattern

相關問題