Apache .htaccess重定向保留新URL中旧URL的编号

Apache .htaccess重定向保留新URL中旧URL的编号,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我正在创建大量301重定向,显然是在我的.htaccess文件中使用以下代码模式将旧URL指向新URL: RewriteRule ^socialhire/career--interview-advice/11/radical-thinking--market-yourself-to-a-recruiter/?$ http://www.bold-identities.com/socialhire/blog/candidate/radical-thinking--market-yourself-to

我正在创建大量301重定向,显然是在我的
.htaccess
文件中使用以下代码模式将旧URL指向新URL:

RewriteRule ^socialhire/career--interview-advice/11/radical-thinking--market-yourself-to-a-recruiter/?$ http://www.bold-identities.com/socialhire/blog/candidate/radical-thinking--market-yourself-to-a-recruiter/  [L,R=301]
但是,当我转到旧URL时,我被重定向到此处:

/socialhire/blog/candidate/11/激进思维——从自我推销到招聘人员/

为什么重定向会保留旧URL中的号码


我有大约2000个重定向,它们的行为都是一样的。下面是一个完整的
.htaccess
这可能是由循环或双重定向引起的。从Apache Docs on标志:

因此,如果在其中一种上下文中使用RewriteRule指令,则必须采取明确的步骤来避免规则循环,而不是仅依靠[L]标志来终止一系列规则的执行,如下所示。 另一个标志[END]不仅可用于终止当前一轮重写处理,还可用于防止在每个目录(htaccess)上下文中发生任何后续重写处理。这不适用于由外部重定向产生的新请求


我建议使用[END]标志以及R,L

是否有其他规则会影响它?看起来另一条规则是把这11个放在thereYes中,很可能放在新的站点上,那个被重定向到的站点。看看你的规则在那里,或者它可能是你的CMS在该网站上的功能。通过在服务器配置中放入
LogLevel rewrite:trace3
,然后检查日志,您可以确切地看到发生了什么,尽管它不能进入.htaccess。在.htaccess中有以下规则:
RewriteRule^blog/?$pages/blog.php[L]RewriteRule^blog/([a-zA-Z0-9-])/([a-zA-Z0-9-])+)/?$pages/blog post.php?cat=$1&post=$2[L]重写规则^blog/([a-zA-Z0-9-]+)/?$pages/blog.php?cat=$1[L]
这些人能把这个数字记下来并放进去吗?如果是这样,我该如何阻止它的发生?感谢Guysher,这是一个指向全部内容的链接,很抱歉连续发布两次:它必须在bold identities网站上,而不是重定向来自的网站上。感谢您的回复-添加[END]会导致500错误。即使我删除了.htaccess中的所有其他行,只保留不起作用的重写,它仍然会做同样的事情,因此我得出结论,它不是由早期规则引起的。