Apache htaccess URL重写在301重定向后不起作用

Apache htaccess URL重写在301重定向后不起作用,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我有以下url重写: RewriteRule ^info/([^/\.]+)/?$ info.php?page=info&subpage=$1 [L] 最初,参数是页面id,即0-10。 我现在已经改变了这一点,这样URL就有了更有意义的段塞名称来反映内容 我现在设置了301重定向,例如: Redirect 301 /info/0 http://www.example.com/info/intro 但问题是,重定向不会转到url重写(http://www.example.com/in

我有以下url重写:

RewriteRule ^info/([^/\.]+)/?$ info.php?page=info&subpage=$1 [L]
最初,参数是页面id,即0-10。 我现在已经改变了这一点,这样URL就有了更有意义的段塞名称来反映内容

我现在设置了301重定向,例如:

Redirect 301 /info/0 http://www.example.com/info/intro
但问题是,重定向不会转到url重写(http://www.example.com/info/intro). 而是显示完整的url(http://www.example.com/info.php?page=info&subpage=0)

如何让它保持重写?

非常感谢

正如LazyOne所发布的,解决方案是使用重写规则:

RewriteRule ^info/0$ http://www.example.com/info/intro [R=301,L] 

1) 规则的顺序-请显示您的完全访问权限(至少是所有规则的一部分)。至少将重定向规则放在重写规则之前。2) 尝试将重定向转换为RewriteRule表单(最终仍将执行相同的任务),并将其置于现有重写规则之前。谢谢LazyOne。重定向已在重写规则之前。我不知道如何将其转换为RewriteRule-我对这一切都不熟悉:(我将发布我的htaccess代码…只需要将其精简一点。简单如下:
RewriteRule^info/0$http://www.example.com/info/intro [R=301,L]
在url重写对我有效之前放置以下内容:“重写规则^intro/1$[R=301,L]我会尽快将此作为答案发布。显然,我必须等8个小时才能完成此操作!感谢您的帮助LazyOne:)