[英]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 redirected
到http://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.