2011-07-07 36 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