各位大师,请教一下,我想把:
http://www.mydomain.com/something1/something1.html
http://www.mydomain.com/something2/something2.html
301转向到:
http://www.mydomain.com/something1
http://www.mydomain.com/something2something1,something2的位置可能是数字,字母,还可能带有横杠-,非常非常感谢!!

解决方案 »

  1.   

    RewriteEngine On
    RewriteRule ^(.*?)/.*?\.html$ /$1 [R]但是有个问题,http://www.mydomain.com/something1/something2.html是跳转到http://www.mydomain.com/something1还是http://www.mydomain.com/something2?我写的是跳转到前者。
      

  2.   

    哦,不好意思,可能没说清楚,我再补充一下:http://www.mydomain.com/something1/something1.html 
    跳转到: 
    http://www.mydomain.com/something1 也就是说:/something1/something1.html 必须是/的前后这两个词完全一样才跳转,否则就不跳转。
    比如:
    /china/china.html 跳转到:/china
    /china/beijing.html 则不跳转。再比如:
    /china/beijing/beijing.html 转到:/china/beijing
    /china/beijing/city.html 则不跳转。可能有很多层,如:/china/beijing/city/street/street.html 需要跳转。再次感谢各位大哥帮帮忙!!
      

  3.   

    RewriteRule ^((.*?/)*)(.*?)/\3\.html$ /$1$3 [R]
      

  4.   

    楼上大哥您好,好像不行啊,加上之后没有反应
    我希望是URL也要变化成跳转后的样子。
    最好是301。再次感谢!
      

  5.   

    可以在php中写的 
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://www.mydomain.com/something1');//根据参数跳转
    exit();
      

  6.   

    您好,我现在的情况比较特殊,/china 与 /china/china.html 两个页面的内容其实是一样的。我现在是想只保留第一种形式,但程序里有很多地方又会直接链接到第二种形式,所以才需要跳转。所以我觉得用rewrite会比较好,麻烦您再想想办法,谢谢了!!
      

  7.   

    用rewrite, url不会变化,
    要变的话用楼上的header
      

  8.   

    rewrite URL也是可以变化的,我见过,只是不知道怎么写。上面zjerryj大哥的rewrite我试了,的确没有反应啊。我加上了[R=301],但检测了也是200,不是301。
      

  9.   

    确定rewrite module已经加载,并且执行了RewriteEngine On
    可以写一个简单的重写规则做实验,比如:
    RewriteEngine On
    RewriteRule ^abc\.htm$ /def.php [R=301]
    我的环境是winxp+apache2.2,测试下来符合你的需求,且URL会变化。
      

  10.   


    RewriteRule /([a-zA-Z0-9]+) /$1/$1\.html 
    不知道对不对,不过我想这样很容易转错,除非你的网站内的文件很少,因为http://www.mydomain.com/something1 
    属于根目示下一般转义后,会故意加多一个伪文件夹来区别文件,例如:加多了一个伪文件夹list
    RewriteRule /web/list/([0-9]+)\.html /web/list\.html\?action=listplay&id=$1例如:http://www.skyhope.cn/web/list/125.html
      

  11.   

    zjerryj大哥您好,
    您给我写的rewrite还是不能工作,
    RewriteRule ^((.*?/)*)(.*?)/\3\.html$ /$1$3 [R]
    我加上之后:
    /china/china.html 并不会跳转到/china
    /china/bejing/beijing.html 也并不会跳转到/china/bejing
    而是没有反应。
    rewrite我确定是打开的,因为wordpress本身的rewrite工作正常。
    麻烦您再看一下吧。。