Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 域.htaccess重定向问题_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Apache 域.htaccess重定向问题

Apache 域.htaccess重定向问题,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我正在尝试使用.htaccess创建一些重定向,但我始终无法使其完全正常工作。也许这里有人能帮我 我需要的是: http://domain.se和http://domain.com重定向到http://www.domain.com 我还需要http://domain.se/somefolder,http://domain.com/somefolder以及http://www.domain.se/somefolder重定向到http://www.domain.com/folder 我曾试图自己完成

我正在尝试使用.htaccess创建一些重定向,但我始终无法使其完全正常工作。也许这里有人能帮我

我需要的是:

  • http://domain.se
    http://domain.com
    重定向到
    http://www.domain.com

  • 我还需要
    http://domain.se/somefolder
    http://domain.com/somefolder
    以及
    http://www.domain.se/somefolder
    重定向到
    http://www.domain.com/folder

  • 我曾试图自己完成这项工作,但我最终得到的只是关于数据未发送的错误

    RewriteCond %{HTTP_HOST} !^www.domain.com$
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301]
    
    这应该满足您的所有要求。所有不是
    www.domain.com
    的请求将被重定向到该域,请求URI保持不变

    Options +FollowSymLinks -MultiViews
    RewriteEngine On
    RewriteBase /
    
    # folder rewrite
    RewriteRule ^somefolder$ folder [L]
    
    # domain redirect
    RewriteCond %{HTTP_HOST} =domain.com [OR]
    RewriteCond %{HTTP_HOST} =domain.se
    RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
    
  • 这将被放置在网站根文件夹的.htaccess文件中。如果放置在其他位置,可能需要进行一些调整

  • 第一条规则将把对
    /somefolder
    的请求(内部重定向)重写为
    /folder
    。如果需要301永久重定向,则将
    [L]
    替换为
    [R=301,L]

  • 第二条规则将执行域重定向作业。仅当域为
    domain.com
    domain.se
    时,此规则才会重定向。如果您想从任何域名(您的Web服务器配置可以提供)重定向到
    www.domain.com
    ,那么将这两行RewriteCond替换为:
    RewriteCond%{HTTP_HOST}=www.domain.com


  • 你说你使用了27分钟后发布的另一个代码,除了过于冗长之外,还有什么原因吗?