【问题标题】:Folder path is dropped when redirecting with htaccess使用 htaccess 重定向时删除文件夹路径
【发布时间】:2015-12-05 13:14:55
【问题描述】:

我将所有non-www 重定向到www

它适用于所有链接,除非在我们的根目录中存在包含文件夹的链接,例如 /us//uk/

这是我的规则:

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

如果我使用这样的工具:http://htaccess.madewithlove.be/,则表明重定向工作正常: http://example.com/uk/ 重定向到 http://www.example.com/uk/

但实际上它重定向到http://www.example.com/。我删除了所有缓存和清漆,还使用了这样的工具:http://www.redirect-checker.org/index.phpcURL

正在删除文件夹路径。 http://example.com/uk/whatever 变为 http://www.example.com/whatever

还能是什么?

我还在 /uk/ 文件夹内的 .htaccess 文件中插入了我的重定向。

谢谢!

【问题讨论】:

  • 你还有其他的重写规则吗?
  • @Starkeen 不,没有其他重写规则。是否有可能忽略 /uk/ 文件夹中的 htaccess?

标签: apache .htaccess magento redirect


【解决方案1】:

我还在 /uk/ 内的 .htaccess 文件中插入了我的重定向 文件夹。

你不能那样做。它只会给出错误的结果。

在根目录下使用你的或这个 htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

【讨论】:

    【解决方案2】:

    您可以尝试改用此重写规则:

    RewriteCond %{HTTP_HOST} ^([a-z.]+)?yoursite\.com$ [NC]
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule .? http://www.%yoursite.com%{REQUEST_URI} [R=301,L]
    

    【讨论】:

      猜你喜欢
      • 2018-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-05
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多