Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
如何使用htaccess和regex重定向URL的中间部分,使动态端保持原样? 我需要改变一些URL,只需改变中间部分或URL结尾部分。如果该部分位于中间,则端部必须保持相同。_Regex_.htaccess_Url Redirection - Fatal编程技术网

如何使用htaccess和regex重定向URL的中间部分,使动态端保持原样? 我需要改变一些URL,只需改变中间部分或URL结尾部分。如果该部分位于中间,则端部必须保持相同。

如何使用htaccess和regex重定向URL的中间部分,使动态端保持原样? 我需要改变一些URL,只需改变中间部分或URL结尾部分。如果该部分位于中间,则端部必须保持相同。,regex,.htaccess,url-redirection,Regex,.htaccess,Url Redirection,我需要通过使用htaccess和regex来实现这一点 我在网上找到了很多例子,但大多数都是一对一重定向,没有涵盖足够多的动态网站。我也没有在其他问题中找到答案 我有网址: www.domain.com/something(单独)或类似的URL www.domain.com/something aaa bbb ccc或仅限 www.domain.com/something aaa 如何制作: www.domain.com/somethingELSE但是: www.domain.com/somet

我需要通过使用htaccess和regex来实现这一点

我在网上找到了很多例子,但大多数都是一对一重定向,没有涵盖足够多的动态网站。我也没有在其他问题中找到答案

我有网址:

www.domain.com/something
(单独)或类似的URL

www.domain.com/something aaa bbb ccc
或仅限

www.domain.com/something aaa

如何制作:

www.domain.com/somethingELSE
但是:

www.domain.com/somethingELSE aaa bbb ccc

(保持aaa bbb或任何结尾相同的内容)


为了让这篇文章更具可读性,我们假设这些商店有很多位置:

www.domain.com/my shop
-之后无任何其他内容,或:

www.domain.com/my shop贝尔格莱德
。。。或

www.domain.com/my shop new york
。。。或者<代码>随时随地购物

将是:

www.domain.com/my office
-之后或之后没有任何其他内容:

www.domain.com/my office贝尔格莱德
。。。或

www.domain.com/my office new york
。。。或者<代码>我的办公室在哪里


下面是我的紧急解决方案,但它不是动态的,它只包含2个示例,但我需要动态网站的解决方案,该解决方案涵盖了上述所有内容

<IfModule mod_rewrite.c>
    RewriteEngine On
    Redirect 301 /my-shop /my-office
    Redirect 301 /my-shop-new-york /my-office-new-york 
</IfModule>

重新启动发动机
重定向301/我的店铺/我的办公室
重定向301/我在纽约的店铺/我在纽约的办公室

这是一个适合我的解决方案

为了将领先的
/my shop
替换为
/my office
,并保留之后的一切,我使用了一个捕获组:

(.*)
并将其替换为
$1

RedirectMatch 301 /my-shop(.*) /my-office$1

所以你只是想用/my office替换主要的/my shop,然后让一切保持原样?@DusanBajic是的,完全是
RedirectMatch 301/my shop(.*)/my office$1
Redirect/my shop//my office/
应该可以工作。
重定向
指令的模式是动态的,它将匹配
/my shop/
之后的任何内容,并将其附加到目标路径的末尾
/my office/
@MirjanaKatalina您可以为自己的问题编写一个答案,因此有类似问题的人不需要查看注释来查找它。