【问题标题】:301 redirection in CodeIgniter having ? issueCodeIgniter 中的 301 重定向有 ?问题
【发布时间】:2015-02-10 20:51:42
【问题描述】:
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 中提到的主页,但它需要像这样的查询字符串中的请求 URL...

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

如何使.htaccess 在重定向时不执行此操作?

【问题讨论】:

    标签: php .htaccess codeigniter mod-rewrite redirect


    【解决方案1】:
    • 不要将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 缓存。

    【讨论】:

    • 您好,感谢您的回答,但我必须使用 301 重定向而不是 RewriteRule,这是示例我有另一个项目需要使用 301 重定向将旧 URL 映射到新 URL 的问题
    • 您的代码正在运行,但它是直接的 不使用 301 重定向还是使用 301 ?我不知道它是否适合我的要求,请分享您的观点我很困惑
    • 即使要将旧 URL 映射到新 URL,您也可以使用 RewriteRule 的 301 规则,如我所示。在任何情况下,将RewriteRule ^(.*)$ /index.php?/$1 [L,QSA] 作为最后一条规则。
    • 先生,我有 300 个不同的 URL,需要用新 URL 映射,例如重定向 301 /blog/post/3568424 /blog/do-orgone-products-actually-harmonize-nuclear-radiation
    • 感谢 Anubhava,它确实奏效了,花了很长时间,但它完成了
    猜你喜欢
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多