2014-09-06 31 views
1

我很努力地看到爲什麼這個規則不會在網站上工作。htaccess規則是真實的,但網站給出404

舊的URL是/移動/條/網站/物品名稱和新URL只是/條/條名

規則是

RewriteRule ^mobile/article/tgc/(.*)$   /article/$1 [L,R=301] 

測試對http://htaccess.madewithlove.be/與整個htaccess文件告訴我們

This rule was met, the new url is http://site.dev/article/article-name 
Test are stopped, because of the R in your RewriteRule options. A redirect will be made with status code 301 

但是當我們嘗試在瀏覽器中點擊http://site.dev/mobile/article/site/article-name,我們得到了一個404而不是重定向。

什麼是更奇怪的是,我們有同樣的規則的另一個URL

RewriteRule ^resources/a/(.*)$     http://resources.site.dev/library/$1 [L,R=301] 

我們陷入困境的重定向之後,來了,它只是桃色。

我們缺少什麼?

+0

請問您的htaccess說真的'^ RewriteRule'? '^'離開那裏,會導致語法錯誤,導致規則不被處理。 – Oldskool 2014-09-06 11:44:30

+0

如果你在'RewriteRule'前面刪除'^'(不知道是否是類型錯誤或者其他)並且在'/ article/$ 1'之後加了'[R = 301,L]'?另外,你有其他規則嗎?如果你使用的是某個框架,那麼把你的規則放在框架的主要規則 – 2014-09-06 11:44:54

+0

是的,這個網站在ExpressionEngine上運行,並且所有這些規則在我們之前都有。 – 2014-09-06 11:49:36

回答

0

保持您的規則,因爲這:

RewriteRule ^mobile/article/site/(.*)$ /article/$1 [L,NC,R=301] 
+0

葉,這就是我們所擁有的,減去數控但仍然是404 – 2014-09-06 11:50:10

+0

請確保這是您的第一條規則,並且您在'/ mobile /'文件夾或其下的任何其他文件夾中沒有任何其他.htaccess。 – anubhava 2014-09-06 11:57:29

+0

我將你的回答標記爲已接受,因爲有人使用自己的htaccess文件爲項目添加了一個'''/ mobile /'''目錄。 – 2014-09-06 12:05:40