.htaccess 如何更改url路径措辞

.htaccess 如何更改url路径措辞,.htaccess,url,mod-rewrite,url-rewriting,path,.htaccess,Url,Mod Rewrite,Url Rewriting,Path,我想完成的是将“domain.com/folder”更改为“domain.com/shop”,并且“folder”目录中访问的所有内容都显示在“domain.com/shop”中 发件人:domain.com/folder/cart 收件人:domain.com/shop/cart 为了进一步解释这一点,我希望文件夹名称自动更改为“shop”。我尝试使用另一个有类似问题的有用页面来实现这一点,但在domain.com/shop中键入时,我遇到了404页面 RewriteEngine on Rew

我想完成的是将“domain.com/folder”更改为“domain.com/shop”,并且“folder”目录中访问的所有内容都显示在“domain.com/shop”中

发件人:domain.com/folder/cart

收件人:domain.com/shop/cart

为了进一步解释这一点,我希望文件夹名称自动更改为“shop”。我尝试使用另一个有类似问题的有用页面来实现这一点,但在domain.com/shop中键入时,我遇到了404页面

RewriteEngine on
RewriteRule ^/folder(.*)?$ /shop$1 [R]
RewriteRule ^/shop(.*)?$ /folder$1 [NC]

商店是我的网站文件中不存在的文件夹。我希望我不必创建它,因为我正在使用的软件已经安装在一个文件夹中,我不能只将其名称更改为“shop”,而不完全破坏需要该路径的所有内容。

mod_rewrite只能重写/重定向请求的URI。因此,您需要请求/shop/…将其重写到相应的/folder/

试试这个:

RewriteEngine on
RewriteRule ^shop/(.*) folder/$1

只是为了澄清一下,所以您希望用户的浏览器窗口显示example.com/shop/。。。但您希望在内部将其映射到example.com/folder/。。。为了后端逻辑起见?重写规则应该像Udit在其答案中那样将斜杠放在“shop”之后,这样做也毫无价值。否则,你也会意外地将“购物”或“购物你可能不想要的坏东西”映射到该规则中。它起作用了,但我希望我可以完全更改url中对“文件夹”的任何调用,使其仅购物,即使链接指向该文件夹。喜欢它会自动变为商店。我知道这样的事情似乎是不可能的。