如何使用.htaccess将用户重定向到同一站点上的新url?
我最近更改了我网站的URL 旧URL:如何使用.htaccess将用户重定向到同一站点上的新url?,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,我最近更改了我网站的URL 旧URL:mysite.com/top/1 新URL:mysite.com/top/page=1 当用户访问旧的url时,我想将他们重定向到新的url。如何使用.htaccess执行此操作 我有这个新url的重写规则 RewriteRule ([top,new]+)/page=([0-9]+) index.php?h=$1&page=$2 [L] 试试这个 RewriteEngine On RewriteRule ^top/([0-9]+)$ top/pag
mysite.com/top/1
新URL:mysite.com/top/page=1
当用户访问旧的url时,我想将他们重定向到新的url。如何使用.htaccess执行此操作
我有这个新url的重写规则
RewriteRule ([top,new]+)/page=([0-9]+) index.php?h=$1&page=$2 [L]
试试这个
RewriteEngine On
RewriteRule ^top/([0-9]+)$ top/page=$1 [R=301,L]
对于最初的问题,您应该尝试以下方式:
RewriteRule ^top/([0-9]+)$ top/page=$1
但根据你在Virendra帖子上的评论,这可能会更好地满足你的需求:
RewriteRule ^(top|new)/([0-9]+)$ index.php?h=$1&page=$2 [R=301,L]
这将同时匹配top和new,并且仅当指定了有效的页码时才重写
希望这有帮助您确定新的URL吗?你是说
mysite.com/top/?page=1
(在page
之前打问号)?否,我更新了问题检查now@Virendra您的重写规则将导致无限重写:)我已经为新url设置了此重写规则rewriterule([top,new]+)/page=([0-9]+)index.php?h=$1&page=$2[L]
是的,它将导致无限重写。让我试试别的。@RishikaSinghania您应该更新问题,以了解您想要什么。我已根据您在问题中的请求更新了解决方案,即将mysite.com/top/1
重定向到mysite.com/top/page=1
。但是,你确定你希望它以这种方式重定向,而不是像mysite.com/top/?page=1
那样,这不会按照问题中的要求重定向到mysite.com/top/page=1
。根据他对你答案的评论,他希望这种行为而不是他在问题中提出的行为,但我会编辑我的答案,将两者都包括在内solutions@RishikaSinghania您尝试了哪一个?内部服务器错误是因为标志中有空格。将其更改为[R=301,L]
它表示“页面未正确重定向”