我需要帮助解决没有特殊字符的301重定向问题。
例如,我想重定向以下网址:
http://www.iphoneapplications.us/iphone-ipad-mobile-apps-portfolio.html#Gigguid
到以下网址:
http://www.i-phonedeveloper.com/portfolio.html
我已更改.htaccess
以执行重定向,但片段#Gigguid
仍保留在最终到达网址中。如何解决这个问题?
答案 0 :(得分:3)
当前的HTTP标准不允许您进行此类重定向 - 至少HTTP客户端拒绝这样做。您的浏览器将始终将#...
部分添加到重定向URI。
顺便说一下,#....
被称为 Fragement ,特殊字符并没有多说(URI有很多特殊字符,如:
,%
,{ {1}}和?
),最好使用正确的名称。
下一个HTTP标准版本可能会解决这个问题,但它仍然有点脆弱,草案中的含义有时会发生变化,因为我无法展望未来现在如何做到这一点还为时尚早。下一个稳定版的HTTP。
有关更多信息,请参阅此问题:
答案 1 :(得分: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
重定向到: