2017-01-17 49 views
0

我創造了大量的301個重定向,明顯指向舊網址與下面的代碼架構新的網址,在我.htaccess文件:的.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/radical-thinking--market-yourself-to-a-recruiter/

爲什麼重定向保持數從舊的網址是什麼?

我有大約2000年的重定向所有行事相同。這是一個link到整個.htaccess

+0

可以在任何其他規則是影響呢?它看起來像另一個規則是把那11放在那裏 – cjds

+0

是的,可能在新網站上,被重定向到。看看你的規則,也可能是你的CMS在該網站上的功能。您可以通過在服務器配置中添加LogLevel rewrite:trace3來查看到底發生了什麼,然後檢查日誌,但無法進入.htaccess。 – SuperDuperApps

+0

早先在.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] RewriteRule^blog /([a-zA-Z0-9 - ] +)/? $ pages/blog.php?cat = $ 1 [L] ' 難道這些撿起那個數字並把它放在那裏?如果是這樣,我將如何阻止它發生? 謝謝你們 –

回答

0

這可能是由循環或雙重定向造成的。從Apache文檔上的標誌:http://httpd.apache.org/docs/current/rewrite/flags.html

是很重要的,如果你正在使用的RewriteRule指令在這些上下文之一,您採取明確的步驟,以避免規則循環,而不是在[L]單獨計數標誌來終止執行一系列規則,如下所示。 替代標誌[END]可用於終止當前一輪重寫處理,但可防止在每個目錄(htaccess)上下文中發生任何後續重寫處理。這不適用於由外部重定向導致的新請求。

我會建議使用[END]標誌以及R,L

+0

感謝您的回覆 - 在[500]錯誤中添加[END]結果。即使我從.htaccess中刪除了所有其他行,只是讓Rewrite不起作用,它仍然會執行相同的操作,所以我得出結論,它不是由早期的規則引起的。 –