1

我已经将静态 HTML 网站重新开发为动态 PHP 网站,旧网站具有我不想失去的 Google 排名。

旧网址结构

www.mysite.com/somepage/index.html

新的 URL 结构:

www.mysite.com/page.php?id=1010id在哪里somepage

我以这种方式尝试过,但没有成功。

<IfModule mod_rewrite.c>
    RewriteEngine On
    Redirect 301 /somepage/index.html www.mysite.com/page.php?id=10
</IfModule>
4

1 回答 1

1

请注意,Redirect它不是 mod_rewrite 的一部分,它是 mod_alias 的一部分,您无需打开重写引擎即可使用它。

如果您想“重写”,例如在服务器内部更改 URL,而互联网的其余部分不知道它已被更改,那么您将使用 mod rewrite,而不是重定向:

RewriteEngine On
RewriteRule ^/?somepage/index\.html$ /page.php?id=10 [L]

如果您想将所有请求重定向到新的 URL,那么您可以单独使用Redirect。这让 Internet 的其余部分知道 URL 已更改并停止使用旧 URL。使用 301,谷歌知道当存在 301 重定向(永久)时,它为旧 URL 存储的任何元数据都应该迁移到新 URL:

Redirect 301 /somepage/index.html /page.php?id=10

由于您在同一主机内重定向,因此不需要主机名。

于 2013-07-06T10:22:28.373 回答