繁体   English   中英

htaccess 重写和重定向不起作用

[英]htaccess rewriterule and redirect not working

我有一个特殊的场景:旧的网站网址是这样制作的: http://www.mysite.it/it/my-old-link

新的是这样制作的: http://www.mysite.it/vini.php?famiglia=my-new-link

我想链接http://www.mysite.it/it/my-old-link指向http://www.mysite.it/vini.php?famiglia=my-new-link

这是为了保留 SEO position。 因此,当有人点击搜索结果http://www.mysite.it/it/my-old-link will be redirectedhttp://www.mysite.it/vini.php?famiglia=my-new-link

但我找不到编辑 .htaccess 文件的方法。

我已经设置了重写规则和重定向,但它不起作用; 这里是 .htaccess 文件的示例:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteBase /

RewriteRule ^/?([^/d]+)/?$ /vini.php?famiglia=$1 [L,QSA]

Redirect 302 http://www.mysite.it/it/my-old-link http://www.mysite.it/my-new-link

ErrorDocument 404 http://www.mysite.it/index.php

但它不起作用:如果我在浏览器中输入http://www.mysite.it/it/my-old-link我得到 404 页面错误 (index.php)

但是:如果我在浏览器上输入http://www.mysite.it/my-new-link我会得到正确的页面。

有没有办法解决这个问题?

TIA托尼

如果您正在根据显示的示例寻找特定规则,请尝试以下操作。

RewriteEngine ON
RewriteRule ^it/my-old-link/?$ vini.php?famiglia=my-new-link [NC,L]


如果您正在寻找通用规则,如果 URI 不作为文件或目录存在,请尝试以下操作。 请确保您一次只设置上述规则或遵循规则。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ vini.php?famiglia=my-new-link [NC,L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM