使用htaccess重定向时,文件夹路径将被删除

时间:2015-12-05 13:14:55

标签: apache .htaccess magento redirect

我正在将所有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文件中。

谢谢!

2 个答案:

答案 0 :(得分:1)

  

我也将重定向插入/ uk /中的.htaccess文件中   文件夹中。

你做不到。它只会给你错误的结果。

在root用户使用你的或者这个htaccess:

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

答案 1 :(得分:0)

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

Scanner scanner = new Scanner(System.in);
    boolean hasNotEnd=true;

    while(hasNotEnd) {
        System.out.println("read 1st input0");
        String readString1 = scanner.nextLine();
        System.out.println("read 2nd input0");
        String readString2 = scanner.nextLine();

        if(readString1.isEmpty() && readString2.isEmpty()){
            hasNotEnd=false;
        }