2013-04-08 76 views
0
RewriteRule ^(new-york/new-york-city/chelsea/10001) index.php [L] 

上述代碼不起作用。它在Codeigniter中給了我一個404錯誤。但是,下面的代碼確實有效。爲什麼mod_rewrite規則不能在CodeIgniter中使用?

RewriteRule ^(new-york/new-york-city/chelsea/10001) http://anywebsitehere.com/ [L] 
+0

您的.htaccess文件位於何處?如果它在一個奇怪的位置......你可能要考慮使用[RewriteBase](http://stackoverflow.com/questions/704102/how-does-rewritebase-work-in-htaccess)。 – summea 2013-04-08 18:34:04

+0

.htaccess文件位於主目錄中。 – user1426594 2013-04-08 18:35:40

+0

也不起作用。它不斷嘗試通過CodeIgniter控制器/操作模式加載一個名爲new-york的頁面,並給我一個404。 – user1426594 2013-04-08 18:52:17

回答

0

RewriteRule只是重寫爲index.php,它調用默認路由,如果你有一個設置。如果你想要去搜索,您必須重寫到搜索控制器和控制方法,並通過它作爲參數

RewriteRule ^new-york/new-york-city/chelsea/10001 index.php/search_controller/search_method/$0 [L] 

漂亮的URL或部分這將在application/controllers/search_controller.php調用該方法search_method與漂亮的URL作爲參數

search_method('new-york', 'new-york-city', 'chelsea', '10001');