Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
.htaccess htaccess-将旧域重定向到新域,但出现异常_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess htaccess-将旧域重定向到新域,但出现异常

.htaccess htaccess-将旧域重定向到新域,但出现异常,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,htaccess-将旧域重定向到新域,但出现异常 我有一个旧域:,包含URL文件:1.php、2.php和3.php 我想重定向到,但在重定向后3.php应自动重定向/重命名为4.php,即: www.olddomain.com/3.php => www.newdomain.com/4.php 其余部分应相同: www.olddomain.com/1.php => www.newdomain.com/1.php www.olddomain.com/2.php => www.n

htaccess-将旧域重定向到新域,但出现异常

我有一个旧域:,包含URL文件:1.php、2.php和3.php 我想重定向到,但在重定向后3.php应自动重定向/重命名为4.php,即:

www.olddomain.com/3.php => www.newdomain.com/4.php
其余部分应相同:

www.olddomain.com/1.php => www.newdomain.com/1.php
www.olddomain.com/2.php => www.newdomain.com/2.php

RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
Redirect /3.php /4.php[N]
RewriteRule (.*)$ https://www.newdomain.com/$1 [R=301,L]

当然,它不能按我想要的方式工作,请帮助。

在通用重定向规则之前有特定的重定向:

重新启动发动机 重定向3.php RewriteCond%{HTTP_HOST}^?:www\.?olddomain\.com$[NC] 重写规则^3\.php$https://www.newdomain.com/4.php [L,NC,R=301] 重定向其他所有内容 RewriteCond%{HTTP_HOST}^?:www\.?olddomain\.com$[NC] 重写规则^https://www.newdomain.com%{REQUEST_URI}[R=301,L,NE]
在通用重定向规则之前具有特定重定向:

重新启动发动机 重定向3.php RewriteCond%{HTTP_HOST}^?:www\.?olddomain\.com$[NC] 重写规则^3\.php$https://www.newdomain.com/4.php [L,NC,R=301] 重定向其他所有内容 RewriteCond%{HTTP_HOST}^?:www\.?olddomain\.com$[NC] 重写规则^https://www.newdomain.com%{REQUEST_URI}[R=301,L,NE] 尝试:

尝试:


@阿努巴瓦,我刚测试过。不,它不工作不工作,仍然重定向到www.newdomain.com/3.php,而不是www.newdomain.com/4。php@cmpt我的第一个?@cmpt现在试试……是的…………@anubhava,我刚刚测试过。不,它不工作不工作,仍然重定向到www.newdomain.com/3.php,而不是www.newdomain.com/4。php@cmpt我的第一个?@cmpt立即尝试..是………@cmpt:请确保在测试此项时清除浏览器缓存。@cmpt:请确保在测试此项时清除浏览器缓存。
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?olddomain\.com$ [NC]
RewriteCond %{REQUEST_URI} ^\/3\.php [NC] #usually use NC if using Windows
RewriteRule ^ https://www.newdomain.com/4.php [R=301,L]

RewriteCond %{HTTP_HOST} ^(?:www\.)?olddomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !\/3\.php [NC] #usually use NC if using Windows
RewriteRule ^(.*)$ https://www.newdomain.com/$1 [R=301,L]
#or if it adds two slashes use https://www.newdomain.com$1