0

可能重复:
URL 片段和 302 重定向

我需要关于没有特殊字符的 301 重定向的帮助。

例如,我想重定向以下 URL:

http://www.iphoneapplications.us/iphone-ipad-mobile-apps-portfolio.html#Gigguid

到以下网址:

http://www.i-phonedeveloper.com/portfolio.html

我已更改.htaccess为执行重定向,但片段#Gigguid仍保留在最终 URL 中。如何解决这个问题?

4

2 回答 2

3

当前的 HTTP 标准不允许您进行这种重定向 - 至少 HTTP 客户端拒绝这样做。您的浏览器将始终将该#...部分添加到重定向 URI。

顺便说一下,这#....叫做Fragment,特殊字符不多(一个 URI 有很多特殊字符,如,:和),最好使用正确的名称。%?&

下一个 HTTP 标准版本可能会解决这个问题,但它仍然有点脆弱,草案中的含义有时会发生变化,而且由于我无法展望未来,下一个稳定版本将如何做到这一点还为时过早HTTP 的。

另请参阅此问题以获取更多信息:

于 2013-01-23T10:19:14.777 回答
0

您可以在 htaccess 中使用此代码

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase   /
RewriteCond %{REQUEST_URI} ^(.*)-(.*)\.(html|htm|php)$
RewriteRule ^ /%2.%3 [R=301,L]

样本 :

http://www.iphoneapplications.us/iphone-ipad-mobile-apps-portfolio.html?id=3#Gigguid

重定向到:

http://www.i-phonedeveloper.com/portfolio.html?id=3#Gigguid

于 2013-01-23T11:35:55.590 回答