我已经尝试了很长时间来解决我遇到的这个问题。
在我的网站上,我用 htaccess 文件重写了一些链接。htaccess 文件当前如下所示:
RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?sideID=$1
RewriteRule ^([a-zA-Z0-9_!-]+)/([a-zA-Z0-9_!-]+)/([a-zA-Z0-9_!-]+)$ index.php?sideID=$1&id=$2&title=$3
RewriteCond %{HTTP_HOST} ^www\.mypage\.no$
RewriteRule ^/?$ "http\:\/\/mypage\.no\/" [R=301,L]
第一条规则重写自:
http://mypage.com/index.php?sideID=home
对此:
http://mypage.com/home
第一条规则重写自:
http://mypage.com/index.php?sideID=b&id=12&title=a-great-blog-post
对此:
http://mypage.com/b/12/a-great-blog-post
我猜他们在重写时也会做我想做的事。但是,问题是,如果我现在导航到网站上的任何博客文章,然后尝试导航回任何其他链接,例如http://mypage.com/home,它将添加http://mypage.com/b /12/home代替。这当然可以通过在导航中使用绝对 URL 来轻松解决。但是当我尝试制作 XML 站点地图时,机器人将为每个博客 ID 索引每个页面,如下所示:http://mypage.com/b/12/home,http://mypage.com/b/13/home , http://mypage.com/b/14/home等每个博客 ID 和页面名称。
有没有办法确保 RewriteRule 单独应用或为它们设置条件或类似的东西?我在这方面有点菜鸟。
我求求你,请帮助我!:)