2013-01-14 182 views
0

所以我的網址:myurl.com/projects/url/visit.php?link=fbehe,我希望把它改寫爲這樣:的.htaccess重寫URL(網址縮短)

myurl.com/u/ fbehe

但它不工作。我用這至今:

RewriteEngine On 
RewriteRule ^/u/([^/]*)$ visit.php?link=$1 [L] 

我也想指出,我把我的htaccess文件的目錄與我visit.php文件。所以myurl.com/projects/url/.htaccess

我怎麼能做到這一點?

+0

w ^這是這個URL中的變量字符串:'myurl.com/u/fbehe'? 'fbehe'是'link'的值,但'u'怎麼辦? –

+0

你只是一個虛假的目錄。如果這不能完成myurl.com/fbehe就足夠了。 –

+0

查看我的回答 –

回答

1

你可以試試這個:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^/u/([^/]+)/?$ [NC] 
RewriteRule .*  projects/url/visit.php?link=%1 [L] 

地圖默默

http://myurl.com/u/anyvalue帶或不帶斜線

http://myurl.com/projects/url/visit.php?link=anyvalue

+0

有什麼辦法可以讓它只能通過myurl.com/u/anyvalue工作我並不想讓它與其他任何東西一起工作。 –

+0

@Duncan更新了我的答案。 –

+0

@Duncan對不起。忘了'/ u'。現在被糾正了。 –

-1

你使用這個框架嗎?也許你可以在那裏像路線一樣的功能。可以重寫您的網址..

一樣笨,蛋糕

他們有途徑來改變這樣的URL。

0

嘗試使用NC以及。另外,不確定絕對路徑是否正常工作。如果.htaccess位於網站的根目錄中,請嘗試使用親戚。

RewriteRule ^/u/([^/]*)$ visit.php?link=$1 [L,NC]