2013-02-23 101 views
0

我需要我的網址mod_rewrite的漂亮網址不留

/crescenty/

重定向到

/crescenty/profile.php?player=

我用這個代碼的mod_rewrite

RewriteEngine on 
RewriteRule ^([a-z]+)$ /crescenty/$1/ [NC,R] 
RewriteRule ^([a-z]+)/$ /crescenty/profile.php?player=$1 [NC,R] 

但有一個小問題,URL不留下來,它一直可以追溯到

/crescenty/profile.php?player=

我使用上述mod_rewrite的代碼在最後一行爲[NC,L]標誌試過了,網址保持的方式我想它是

/crescenty/

但頁面不顯示正確(CSS似乎並不適用)

請幫助!

回答

1

這可能是因爲你的鏈接被定義爲相對於當前目錄

當您重寫URL時,它有一個比原始URL更低的級別(/ crescenty/vs /crescenty/name/)。這意味着資源將被查找相對於第二個目錄級別,這當然不起作用。

改變你的資源URL加入了斜線到您的鏈接使用相對Web根網址。

例如變化< IMG HREF = 「圖像/ mying.jpg 」/>到< IMG HREF =「 /images/mying.jpg」/>(注意前導斜線)。

+0

但它似乎,如果我是這樣做的,它的工作原理爲休息,但那麼現在我的主網頁顯示不出來的權利(127.0.0.1/crescenty/)。 – Crays 2013-03-10 11:40:53

+1

我建議你尋找到在調試網絡資源的技術。例如Firefox的[螢火蟲插件(https://getfirebug.com/)有一個「網」選項卡,在這裏您可以看到頁面上製造所有的HTTP請求。 Chrome和IE(我相信IE9)在開發者工具集中也有網絡標籤。否則,我可以推薦所謂的[提琴手]一個好的瀏覽器無關的工具(https://fiddler2.com/fiddler2/)。 – kjetilh 2013-03-10 13:32:15

+0

非常感謝你:) – Crays 2013-03-10 15:43:53