2013-01-14 144 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]