我有一个问题,谷歌已经用错误的 url 索引了一些页面。
他们正在索引的网址是:
1. http://www.mydomain.com/index.php?a=profile&u=john
2. http://www.mydomain.com/index.php?a=page&b=about
3. http://www.mydomain.com/index.php?a=settings&b=avatar
4. http://www.mydomain.com/index.php?a=feed
5. http://www.mydomain.com/index.php?a=feed&filter=picture
6. http://www.mydomain.com/index.php?a=post&m=32
7. http://www.mydomain.com/index.php?lang=english
8. http://www.mydomain.com/index.php?a=messages&u=john&id=4
9. http://www.mydomain.com/index.php?a=feed&logout=1
我需要它重定向到:
1. http://www.mydomain.com/john or http://www.mydomain.com/profile/john
2. http://www.mydomain.com/about or http://www.mydomain.com/page/about
3. http://www.mydomain.com/settings/avatar
4. http://www.mydomain.com/feed
5. http://www.mydomain.com/feed/picture or http://www.mydomain.com/feed/filter/picture
6. http://www.mydomain.com/message/32
7. http://www.mydomain.com/lang/english
8. http://www.mydomain.com/messages/john
9. http://www.mydomain.com/logout or http://www.mydomain.com/feed/logout
.htaccess 不是我的强项,所以任何帮助将不胜感激。
提前致谢。
编辑:
好的,我使用 Dan Trimper 和 Jon Lin 的两种方法让它工作了。首先,我使用 Dan Trimper 方法生成 mod rewrite url。例如
http://www.mydomain.com/index.php?a=page&b=about
,生成后会生成这样的urlRewriteRule ^([^/]*)/([^/]*)$ /index.php?a=$1&b=$2 [L]
其次,生成后,我使用第二种方法将 url 重定向到
http://www.mydomain.com/page/about
Jon Lin 方法:RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /index.php\?a=page&b=([^&\ ]+) RewriteRule ^ /page/%1? [左,右=301]
谢谢!
编辑 2:由于冲突,无法在上面工作。更准确的解决方案转到这个主题.htaccess 友好的 URl