【问题标题】:How to change url path wording如何更改 url 路径的措辞
【发布时间】:2018-06-03 08:56:45
【问题描述】:

我想要完成的是将“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 是我网站文件中不存在的文件夹。我希望我不必创建它,因为我正在使用的软件已经安装在一个文件夹中,我不能在不完全破坏需要该路径的所有内容的情况下将其名称更改为“shop”。

【问题讨论】:

  • 只是为了澄清,所以您希望用户的浏览器窗口显示 example.com/shop/... 但您希望它在内部映射到 example.com/folder/...后端逻辑?

标签: .htaccess url mod-rewrite url-rewriting path


【解决方案1】:

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

试试这个:

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

【讨论】:

  • 重写规则应该将斜杠放在 .* 之外的“shop”之后也毫无价值,就像 Udit 在他的回答中所做的那样。否则,您还会意外地将“购物”或“购物坏事-您可能不想要”与该规则进行映射。
  • 它有效,但只是希望我可以完全更改 URL 中对“文件夹”的任何调用,即使链接指向该文件夹也是如此。喜欢它会自动更改为商店。我知道这样的事情似乎不可能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 2020-02-17
相关资源
最近更新 更多