Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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 301_.htaccess - Fatal编程技术网

.htaccess 从旧站点到新站点的htaccess 301

.htaccess 从旧站点到新站点的htaccess 301,.htaccess,.htaccess,我有一个客户端域,其中有数千个页面正在移动到一个新域。html的命名约定已经改变,我知道htaccess可以以某种方式处理这个问题 下面是一个例子: 旧址: 新网站: 这是我目前无法理解的。如果能帮我一点忙,我将不胜感激。谢谢 如果要将旧网页重定向到新网页,可以使用如下重写: RewriteEngine on RewriteCond %{HTTP_HOST} ^oldsite.com$ [NC] RewriteRule ^([^/]+)/(.+)-index\.html$ http://ne

我有一个客户端域,其中有数千个页面正在移动到一个新域。html的命名约定已经改变,我知道htaccess可以以某种方式处理这个问题

下面是一个例子:

旧址:

新网站:


这是我目前无法理解的。如果能帮我一点忙,我将不胜感激。谢谢

如果要将旧网页重定向到新网页,可以使用如下重写:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldsite.com$ [NC]
RewriteRule ^([^/]+)/(.+)-index\.html$ http://newsite.com/$1/computer-support-$2-index.html [QSA,R=301]
第一行激活htaccess中的重写

第二个检查当前请求是否针对旧网站

如果是,则激活第三行,其中包含正则表达式和要重定向到的新链接。如果该正则表达式匹配,则末尾的
[QSA,R=301]
是将影响重写规则的标志

我写给您的这个规则捕获状态(第一个括号)和城市名称(第二个括号),然后重定向到新网站,用捕获的内容替换$n(其中n是以前括号中的数字)

QSA标志(查询字符串追加)将把旧站点请求中的任何参数添加到新生成的请求中

R=301标志将生成代码为301的浏览器重定向(永久重定向)


有关mod_rewrite的更多信息,请参见!非常感谢。最后一个问题。我有他们的另一个网站,那有点复杂。它是oldsite.com/state/computer-repair-in-city-index.html,需要转到相同的目的地newsite.com/state/computer-support-city-index.html。如果不相关,您可以打开另一个问题:o