0

是否可以重写 url 以使页面保持不变并且 url 本身被更改?

例如:

我在 www.example.com/sales 有一个页面

我希望这个网址在地址栏中显示为 www.example.com/sales_and_repairs

我不想将 www.example.com/sales 上的页面重定向到 www.example.com/sales_and_repairs 上的另一个页面 ....只有一个页面 - 这只是我要更改的 URL,以便如果一个人输入 www.example.com/sales,他们将转到该页面,但地址栏中的 URL 将更改为显示为 www.example.com/sales_and_repairs

这可能与重写规则吗?我查找的任何内容似乎都表明您必须重定向到第二页 - 但这不是我想要做的 - 我只是想更改实际的 URL。

请问有什么建议吗??

4

2 回答 2

2

如果您想将 www.example.com/sales_and_repairs 永久重定向到 www.example.com/sales,您可以使用 .htaccess 文件来完成。

首先,您必须在 apache 中启用 mod_rewrite。

然后将以下内容添加到您的 .htaccess 文件中:

Options +FollowSymlinks
RewriteEngine on
Rewriterule ^http://www\.example\.com/sales_and_repairs$ http://www\.example\.com/sales [R=301,NC,L]

此方法允许您在两个 url 后面只有一个文件。

但是,如果您想在用户操作后修改 url,您可以使用上面 Sparda 给出的答案来完成。

于 2012-05-29T15:05:44.063 回答
1

似乎您可以使用 javascript 实现此目的:

location.hash = 'newurl';

但这会给网址添加一个锚点。html5 的一些早期特性可以做到这一点,但还没有真正支持:

history.pushState(data, 'title', 'newurl');
于 2012-05-29T14:48:17.207 回答