2011-07-07 41 views
0

我想要做的是採取http://mydomain.com/1a3b5c並將其重定向到http://mydomain.com/page?id=1a3b5c,並且如果可能的話仍然保持mydomain.com/1a3b5c在瀏覽器的地址欄中。如果這是不可能的,那麼簡單的重定向就可以了。如何捕獲url-path來執行htaccess重定向?

回答

3

你有興趣通常被稱爲「清潔網址」什麼,像這樣做:

RewriteRule ^([a-zA-Z0-9]+)$ /page?id=$1 [L] 

這是假設你使用Apache作爲Web服務器,並啓用了mod_rewrite。

它將保留原始的可見URI。

這可能需要根據您的確切需求進行修改,但是這應該會給您指出去哪裏的大方向。

+0

謝謝,我還發現this' <文件的.htaccess> 爲了允許,拒絕對 重寫規則 選項+的FollowSymLinks RewriteEngine敘述 ^(\ w +)$ ./sort ?id = $ 1' – SReca

+0

是的,那太棒了。那標籤沒有做任何事情。 FollowSymLinks只是一個很好的練習,RewriteEngine On有時是必需的,它可以讓所有東西都起作用,它們的RewriteRule比我的更優雅(並且鬆散,但可能是一種很好的方式)。我會用你找到的那個。我發佈的那個服務器在我的服務器上正在使用,並且運行良好,所以如果遇到問題,這是一個很好的基本回退。 – arkigos

2

如果你的web服務器是Apache,你想使用Mod Rewrite。事情是這樣的,我認爲

RewriteCond %{HTTP_HOST} ^mydomain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ 
RewriteCond %{REQUEST_URI} !^/page\? 
RewriteRule (.*) page=$1