2

我正在使用 .htaccess 将长网址缩短为更短的漂亮网址,例如

www.dom.com/trol 到http://www.newdom.com/blog.php?type=user&user=trol

它工作正常。但它的浏览器显示长网址。如何在浏览器地址字段中显示短网址?

我在用:

RewriteCond %{HTTP_HOST} ^dom\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.dom\.com$ 
RewriteRule ^(.*)$ http://www.newdom.com/blog.php?type=user&user=$1 [NC]
4

1 回答 1

2

规则目标的http://www.newdom.com一部分隐式地使重写引擎重定向浏览器。这意味着浏览器窗口顶部的 URL 将发生变化。如果要重定向到新域,请确保在不进行重写的情况下进行

RewriteCond %{HTTP_HOST} ^dom\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.dom\.com$ 
RewriteRule ^(.*)$ http://www.newdom.com/$1 [L,R=301]

这将重定向http://www.dom.com/trolhttp://www.newdom.com/trol,这就是将显示在浏览器地址栏中的内容。然后,在newdom.com文档根目录上,您在内部进行重写:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /blog.php?type=user&user=$1 [L]

http://www.newdom.com,不重定向,不更改浏览器的地址栏。

于 2013-05-20T21:55:54.180 回答