【问题标题】:.htaccess not redirecting from old url to new url.htaccess 不会从旧网址重定向到新网址
【发布时间】:2013-09-03 19:47:57
【问题描述】:

我使用 codeigniter 开发了一个网站。以前该网站的 URL 结构很长,所以我在新网站中将它们缩短了。

虽然我在 htaccess 中使用了重定向指令,但它给了我一个 404 错误。我已经删除了所有旧的控制器和功能。

下面是 htaccess 中的几行(有很多 url 重定向到新的)

RewriteEngine On

# Redirect non-www urls to www

RewriteCond %{HTTP_HOST} ^mysite\.com [NC]
RewriteRule (.*) http://www.mysite.com/$1 [R=301,L] 

#RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

Redirect 301 /payments/charity_and_donations/paid http://www.mysite.com/charity
Redirect 301 /outwards/office_furniture/damaged http://www.mysite.com/office_assets
Redirect 301 /funding/business_and_person/inward http://www.mysite.com/funds

谁能告诉我为什么它没有从旧重定向到新的,我做错了什么?

【问题讨论】:

    标签: .htaccess codeigniter redirect


    【解决方案1】:

    您需要在将 URI 路由到 /index.php 之前 进行重定向。此外,由于Redirect 是 mod_alias 的一部分,而您的其他重定向/路由规则是 mod_rewrite,因此 URI 会在不应该处理的情况下被处理两次。您应该只使用 mod_rewrite 并将规则添加到开头:

    RewriteEngine On
    
    # Redirect non-www urls to www
    RewriteCond %{HTTP_HOST} ^mysite\.com [NC]
    RewriteRule (.*) http://www.mysite.com/$1 [R=301,L] 
    
    RewriteRule ^payments/charity_and_donations/paid http://www.mysite.com/charity [R=301,L]
    RewriteRule ^outwards/office_furniture/damaged http://www.mysite.com/office_assets [R=301,L]
    RewriteRule ^funding/business_and_person/inward http://www.mysite.com/funds [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?/$1 [L]
    

    【讨论】:

      【解决方案2】:

      试试下面的代码,这对我很有效

      RewriteCond %{HTTP_HOST} !^www\.yoursite\.com$ [NC]
      RewriteRule ^(.*)$ http://www.yoursite.com/$1 [L,R=301]
      

      【讨论】:

        猜你喜欢
        • 2021-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多