我已经将静态HTML网站重新开发为动态PHP网站,旧网站拥有谷歌排名,我不想丢失。
旧网址结构
www.mysite.com/somepage/index.html
新网址结构:
www.mysite.com/page.php?id=10
其中10
的ID为somepage
我试过这种方式但没有成功。
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /somepage/index.html www.mysite.com/page.php?id=10
</IfModule>
答案 0 :(得分:1)
请注意Redirect
不是mod_rewrite的一部分,它是mod_alias的一部分,你不需要打开重写引擎来使用它。
如果你想“重写”,比如在服务器内部更改URL,而互联网的其余部分不知道它已被更改,那么你将使用mod重写,而不是重定向:< / p>
RewriteEngine On
RewriteRule ^/?somepage/index\.html$ /page.php?id=10 [L]
如果您想将所有请求重定向到新网址,那么您可以单独使用Redirect
。这让互联网的其他人知道URL已被更改并停止转到旧URL。使用301,谷歌知道,当存在301重定向(永久)时,为旧URL存储的任何元数据都应迁移到新URL:
Redirect 301 /somepage/index.html /page.php?id=10
由于您在同一主机中重定向,因此您不需要主机名。