apache做301重定向
最佳回答
httpd.conf
Options FollowSymLinks
AllowOverride All
LoadModule rewrite_module modules/mod_rewrit
RewriteEngine on RewriteCond %{HTTP_HOST} ^zerobin.org$ RewriteRule ^/?$ "http://www.zerobin.org/"
最新回答共有3条回答
-
游客
回复首先看一个完整代码示例,关于nginx 301 302跳转的。 301跳转设置: server { listen 80; server_name downcc; rewrite ^/(; rewrite ^/(.*) /$1 permanent; } last – 基本上都用这个Flag。 break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent – 返回永久重定向的HTTP状态301 Nginx的重定向用到了Nginx的HttpRewriteModule,下面简单解释以下如何使用的方法: rewrite命令 nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下: rewrite 正则表达式 替换目标 flag标记 flag标记可以用以下几种格式: last – 基本上都用这个Flag。 break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent – 返回永久重定向的HTTP状态301 特别注意: last和break用来实现URL重写,浏览器地址栏的URL地址不变,但是在服务器端访问的路径发生了变化; redirect和permanent用来实现URL跳转,浏览器地址栏会显示跳转后的URL地址; 例如下面这段设定nginx将某个目录下面的文件重定向到另一个目录,$2对应第二个括号(.*)中对应的字符串: location /download/ { rewrite ^(/download/.*)/m/(.*)..*$ $1/nginx-rewrite/$2.gz break; } nginx重定向的IF条件判断 在server和location两种情况下可以使用nginx的IF条件判断,条件可以为以下几种: 正则表达式 如: 匹配判断 ~ 为区
-
清风若雨
回复301重定向以及相关解决办法:
1、linux的虚拟主机Apache的服务器,需要支持.htaccess 这个文件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在.htaccess文件开始处加入一下规则:
代码:
RewriteCond %{http_host} ^AAA.com [NC]
RewriteRule ^(.*)$ http://www.AAA.com/$1 [R=301.L]须注意的就是:.htaccess这个文件基本在传到本地是不能直接被修改的,我们可以采用修改成.htaccess.txt的形式来进行访问编 辑,把要写的代码写好之后,直接把.htaccess.txt传上空间,再把.htaccess.txt直接用FTP修改成.htaccess文件名,这 样就可以升效啦!
2、window的虚拟主机IIS的服务器,需要有安装 ISAPI_Rewrite这个组件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在httpd.ini文件开始处加入以下规则:
代码:
RewriteCond Host:^AAA.com$
RewriteRule (.*) http://www.AAA.com$1 [R,I]如果采用以上代码不可行,请你尝试下这个代码:
代码:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^hongtaoseo.com$
RewriteRule (.*) http://www.hongtaoseo.com$1 [I,RP]