首页 > 解决方案 > htaccess 用于重定向具有相同名称的文件和文件夹

问题描述

我有具有相同名称的文件夹和文件文件。'product' 是我的文件夹,其中包含文件 integration.html、test1.html 和 test2.html。我的文件夹结构如下

testproject (project folder)
   product (subfolder in testproject )

       integration.html (file in product folder)
       test1.html (file in product folder)
       test2.html (file in product folder)
   event (subfolder in testproject ) 
   product.html (file in testproject folder)

我想重定向 1) /product/integration/ 到http://test.testproject.net/product/integrations.html

Redirect 301 /product/integration/  http://test.testproject.net/product/integrations.html

2) /product 到http://test.testproject.net/product

Redirect 301 /product  http://test.testproject.net/product.html

我在 htaccess 中有两个重定向规则。在访问 /product/integration/ 时

它重定向到http://test.testproject.net/product.html//integration.html显示未找到错误

标签: phphtmlapache.htaccess

解决方案


使用RedirectMatch它允许使用正则表达式而不是Redirect指令进行精确匹配:

RedirectMatch 301 ^(?i)/product/integration/?$ /product/integrations.html

RedirectMatch 301 ^(?i)/product/?$ /product.html

确保在测试之前从新浏览器进行测试或完全清除浏览器缓存。


推荐阅读