我正在使用.htaccess将长网址缩短为更短的漂亮网址 像
www.dom.com/trol to 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]
答案 0 :(得分: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/trol
重定向到http://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
,没有重定向,也没有更改浏览器的地址栏。