CodeIgniter中的301重定向有哪些?问题

时间:2014-12-12 07:13:38

标签: php .htaccess codeigniter mod-rewrite redirect

Options +FollowSymlinks
RewriteEngine on

RewriteCond $1 !^(index\.php|assets|uploads|tt|application/modules/.*/assets|resources|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php?/$1 [L]    

Redirect 301 /testurl /home/ 

这是我的.htaccess文件,用于在我的CodeIgniter项目中检查301重定向。

301重定向工作正常,但问题在于URL。当我尝试......

http://parcmobilenew.eworkdemo.com/testurl

...它会重定向到.htaccess中提到的主页,但它会在查询字符串中获取请求的网址,如此...

http://parcmobilenew.eworkdemo.com/home?/testurl

如何在重定向时让.htaccess不这样做?

1 个答案:

答案 0 :(得分:3)

  • 请勿将Redirect规则与mod_alias个规则混用。
  • 在内部重写规则之前保留重定向规则。

您可以使用此代码:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^testurl/?$ /home/? [L,NC,R=301]

RewriteCond $1 !^(index\.php|assets|uploads|tt|application/modules/.*/assets|resources|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]

最好在新浏览器中测试以避免旧的301缓存。