我将网站移动到新服务器,我的重定向问题。问题是域名是相同的但网址是新的。我想逐个重定向旧网站最常用的页面。我举个例子:
http://www.gamosorganosi.gr/cgi-bin/sstyle3.cgi?kod_sel=519(旧的)
http://www.gamosorganosi.gr/gamos/nifika/10/Sposa-Moda(新服务器的新服务器)
我尝试重定向301和rewriteRule,但它没有用。所有这些都放在新网站.htacces文件中。
我一直得到的信息是:
未找到
在此服务器上找不到请求的URL /cgi-bin/sstyle3.cgi。
在标题上我看到了旧网站的404标题。
最后一条信息:旧网站仍在线使用新域名www.gamos-organosi.gr
我如何重定向它们?我应该将重定向放在旧站点吗?
答案 0 :(得分:0)
重定向从旧URL开始,因此必须在配置中遵循趋势。由于您正在处理相同的域,因此规则非常简单。
将.htaccess放在您的文档根目录并添加以下行:
RewriteRule ^cgi-bin/sstyle3\.cgi\?kod_sel\=519$ http://www.gamosorganosi.gr/gamos/nifika/10/Sposa-Moda [R=301,L]
或者为了更快的速度,在httpd.conf(apache配置文件)中编辑www.gamosorganosi.gr的虚拟主机部分并插入:
<directory "/path/to/document_root">
RewriteRule ^cgi-bin/sstyle3\.cgi\?kod_sel\=519$ http://www.gamosorganosi.gr/gamos/nifika/10/Sposa-Moda [R=301,L]
</directory>
第二个想法确实需要重新启动服务器,但如果/path/to/document_root
替换为文档根目录的真实路径,它确实有效。
P.S。只需确保转义正则表达式引擎使用的特殊字符,例如问号和句点。
答案 1 :(得分:0)
这将是最好的方式:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^folder1.*$ http://example.com/folder2/ [R=301,L]
在同一域中的含义使用子目录然后转发到实际 你正在重定向的网址。
让[R=301,L]
至关重要 - 因为它告诉搜索引擎也会重定向到代码301
和L
,这意味着此指定重定向的最后一条规则。