【发布时间】:2012-09-06 03:24:43
【问题描述】:
我想了解使用 .htaccess 重定向和重写 URL 之间的区别。
所以这里有一个例子:假设我有一个类似www.abc.com/ index.php?page=product_types&cat=88 的链接(称之为“原始”网址)
但是当用户输入abc.com/shoes(我们称之为“想要的”url)时,他们需要看到上面链接的内容。为此,我会这样做:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)shoes(.*)$ index.php?page=product_types&cat=88
这段代码没有错,它可以解决问题。但是,如果我在地址栏中输入原始 url,内容就会出现,但 url 不会改变。所以它仍然是www.abc.com/index.php?page=product_types&cat=88
但是,如果我希望在我输入 www.abc.com/ index.php?page=product_types&cat=88 的情况下在地址栏中显示所需的 url (/shoes) 怎么办?这将如何使用 .htaccess 来完成?我是否陷入了潜在的循环?
【问题讨论】:
-
是的,我会用 PHP 做这个。 .htaccess 理论上可以工作,但如果你多次这样做,管理重定向的顺序以防止循环将变得越来越难。我知道这很痛苦,但可能值得花时间构建您的请求路由以支持应用程序内的漂亮 URL。
-
我想我明白了@JoeMills。从 SEO 的角度来看,我想知道从应用程序内部重定向原始 url 是否有任何危险?
标签: apache .htaccess mod-rewrite