CI中如何進(jìn)行301重定向?我正在 CI 中創(chuàng)建一個新網(wǎng)站,我想從該網(wǎng)站的早期版本進(jìn)行 301 重定向,其中 URL 結(jié)構(gòu)看起來有點不同,所以我想重定向 htaccess 中最重要的子頁面,但常規(guī)規(guī)則htaccess 不適合我,我認(rèn)為是因為 paths.php 中的條目$route['(:any)/(:any)/(:num)'] = 'ads/cat/$1/$2/$3';$route['(:any)/(:any)'] = 'ads/cat/$1/$2';$route['(:any)'] = 'ads/cat/$1';和我的 htaccess 文件RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php?/$1 [L]例如我想重定向RewriteRule ^oldcat1/oldcat2/oldcat3/ http://localhost/newcat1/newcat2 [R=301,L]但這個重定向不起作用。這該如何處理呢?
1 回答

動漫人物
TA貢獻(xiàn)1815條經(jīng)驗 獲得超10個贊
您需要確保將外部重定向放置在將請求發(fā)送到 CodeIgniter 前端控制器的現(xiàn)有指令之前,否則,它們根本不會被處理。
例如:
# External redirects
RewriteRule ^oldcat1/oldcat2/oldcat3/ http://localhost/newcat1/newcat2 [R=301,L]
# Front-controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
這與您可能在 CodeIgniter 中定義的路由沒有任何關(guān)系,因為在調(diào)用之前.htaccess已對其進(jìn)行了處理。 routes.php
- 1 回答
- 0 關(guān)注
- 111 瀏覽
添加回答
舉報
0/150
提交
取消