【问题标题】:htaccess redirect from old url to new friendly url not workinghtaccess 从旧网址重定向到新的友好网址不起作用
【发布时间】:2017-06-27 14:41:47
【问题描述】:

我在一个电子商务网站上工作,在着陆页上有几个用户可以看到的产品,如果用户想查看有关特定产品的更多详细信息,他必须点击它,然后将他带到viewproduct.php?productname=fidget-spinner&code=12345&id=12345

我想要的是当用户点击产品 URL 时应该是这样的:viewproduct.php/productname/fidgetspinner/code/12345/id/12345

我可以使用 htaccess 创建一个对 seo 友好的 url,但我必须转到 viewproduct.php?productname=fidget-spinner&code=12345&id=12345 然后在 url 中手动输入我必须输入友好的 url,它工作正常..我希望在用户点击 viewproduct.php 时显示 seo 友好的用户

任何新的建议将不胜感激!!

新的友好搜索引擎优化网址:

Options +FollowSymLinks
RewriteEngine on
RewriteRule www.example.com/productname/(.*)/code/(.*)/id/(.*)$ viewproduct.php?productname=$1&code=$2&id=$3

这是我迄今为止尝试在用户点击产品时重定向到新网址的方法:

#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^www.example.com/productname/([a-z0-9]+)/code/([0-9]+)/id/([a-z0-9-]+)?$ viewproduct.php?productname=$1&code=$2&id=$3 

【问题讨论】:

  • 为什么要加入www.example.com/?这不是必需的。
  • @MikeRockett 感谢您的帮助..我也尝试删除它..仍然无法正常工作..这是我的 htaccess 文件在您提到的更改后的样子 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^productname/([a-z0-9]+)/code/([0-9]+)/id/([a-z0-9-]+) ?$ viewproduct.php?productname=$1&code=$2&id=$3
  • 等一下,您的实际问题是没有显示友好链接?实际链接是否有效?所以如果你去productname/...,它会显示它应该显示的内容吗?
  • 没有兄弟,它说找不到 404 页面

标签: php apache .htaccess url redirect


【解决方案1】:

试试这个

//Redirect old file path to new file path//

Redirect /olddirectory/oldfile.html http://example.com/newdirectory/newfile.html

【讨论】:

  • 感谢您的帮助!!但不工作..它对你有用吗?
猜你喜欢
  • 2013-01-06
  • 2021-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-21
相关资源
最近更新 更多