Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 当链接以某些文本结束时重定向[不是扩展名!]-删除最后一个文本_String_.htaccess_Redirect - Fatal编程技术网

String 当链接以某些文本结束时重定向[不是扩展名!]-删除最后一个文本

String 当链接以某些文本结束时重定向[不是扩展名!]-删除最后一个文本,string,.htaccess,redirect,String,.htaccess,Redirect,找不到正确答案,所以我的问题是: 我们已经将我们的webshop移动到另一个平台(从Virtuemart到Opencart 2.0.3.2) 互联网上的旧链接指向我们的产品 新链接的末尾没有“-detail” 我已经找到了一个扩展,可以将-detail添加到产品链接中,但我更希望使用.htaccess重定向来删除这些特定链接上的-detail 通过这种方式,互联网上的所有链接仍然有效(但已重定向),例如,谷歌可以在不丢失所有搜索引擎优化的情况下重做索引 能做到吗?考虑到你对这个问题的评论,这

找不到正确答案,所以我的问题是:

  • 我们已经将我们的webshop移动到另一个平台(从Virtuemart到Opencart 2.0.3.2)
  • 互联网上的旧链接指向我们的产品
  • 新链接的末尾没有“-detail”
我已经找到了一个扩展,可以将-detail添加到产品链接中,但我更希望使用.htaccess重定向来删除这些特定链接上的-detail

通过这种方式,互联网上的所有链接仍然有效(但已重定向),例如,谷歌可以在不丢失所有搜索引擎优化的情况下重做索引


能做到吗?

考虑到你对这个问题的评论,这可能是正确的方法。我不明白你为什么在这里找不到答案,所以,它看起来绝对是直截了当的

我假设“category”是一个占位符,实际上可以采取不同的形式。与“productcode”相同。由于您没有提供任何模式或类似建议,因此此建议是通用的:

RewriteEngine on
RewriteRule ^/?(\w+)/(\w+)-detail$ /$1/$2 [R=301]
但是请注意,您的问题是模糊的。我认为您需要调整该建议,以便其他引用不会中断。很可能你需要一个黑名单来防止一些与产品无关的东西被重写。但是再次重申:由于你的问题是模糊的,没有什么比以上更具体的建议了

一开始使用302临时重定向是一个好主意,在确定所有设置都正确后,只需将其更改为301永久重定向。这样可以防止在尝试时出现缓存问题

此实现将在http服务器主机配置中或在动态配置文件(“.htaccess”文件)中同样工作。显然,重写模块需要在http服务器中加载,并在http主机中启用。在使用动态配置文件的情况下,您需要注意在主机配置中启用该文件的解释,并且该文件位于主机的
DOCUMENT\u ROOT
文件夹中


还有一个一般性的注释:您应该总是更喜欢将这些规则放在http服务器主机配置中,而不是使用动态配置文件(“.htaccess”)。这些动态配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,而且它们确实降低了http服务器的速度。只有在您无法访问真正的http服务器主机配置(读:真正廉价的服务提供商)或坚持编写自己的规则的应用程序(这显然是一个安全噩梦)的情况下,才提供它们作为最后一个选项

顺便说一下;我们有大约5000种产品,所以重定向每一个特定的项目将不是一个选项。不过,现在它们都是以细节结尾的。而那个“细节”到底是什么样子呢?它是静态的吗?它有图案吗?有什么吗?以前的网店提供了我们产品的链接,并指向该类型的地址。我们希望接收那个地址上的人,并将他们重定向到,所以这是一个文本字符串。啊,太糟糕了,服务器上给了我500分。没错,/category可以是gent、ladies等。productcode也是唯一的字符串。-细节是静态的。@mennovindt我必须道歉,这是
重写规则
,而不是
重定向规则
!我修正了答案。太糟糕了。。。没有成功:好的,你现在在评论中发布的URL模式解释了。。。这是第三级。这就是我发布的规则不适用的原因。这是很容易修复的。祝你好运