【问题标题】:Rewrite current URL to similar URL in different folder将当前 URL 重写为不同文件夹中的相似 URL
【发布时间】:2020-10-08 01:02:50
【问题描述】:

我不是 .htaccess 专家,我想将 "domain.com/@url" 之类的 URL 重定向到 "domain.com/folder/url",我正在尝试在 "@" 之后获取 REQUEST_URI 中的字符串,然后使用 RewriteRule 在 " 域之后添加 "%{REQUEST_URI}" .com/folder/",但我不知道该怎么做

几周以来我一直在搜索这个问题,我已经阅读了很多关于 .htaccess 的内容,但我仍然无法这样做

我当前的代码:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^@.*$ /users/%{REQUEST_URI} [R=301,NC]

【问题讨论】:

  • https://example.com/@some/path 是一个非常奇怪的 URL 模式。你确定这是你想要的,而不是你应该解决的问题首先
  • 关于自己做研究... 在你做研究的那几周里,你有没有看过你正在使用的工具的文档?该工具是not“.htaccess”,即只是一个配置文件。就是你感兴趣的apache http服务器的重写模块:httpd.apache.org/docs/current/mod/mod_rewrite.html
  • 新的url路径上不应该有@,我想你不明白,我搜索了很多关于rewriteurl的东西,它在Apache服务器上工作得很好,我只是不'没有我所面临的问题所需的知识
  • 重写不改变请求URL的模式,应该怎么做呢?它只注意使用该 URL 请求的内容可以在内部映射到现有的东西或可以生成的东西。您自己声明“@”是您使用的 URL 模式的一部分。在下面,您确认了一个解决方案,该解决方案正是巩固了这一点。然而在这里你声称不同。但无论如何。

标签: php apache .htaccess redirect xampp


【解决方案1】:

您将@ 之后的字符串分组并传递到输出中。

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^.*@(.*)$ /users/$1 [R=301,NC]

【讨论】:

  • 如果你只使用第二个捕获组,那你为什么要定义两个呢?
  • 好消息。我修正了我的答案。
  • 上帝保佑你,这正是我要找的!
猜你喜欢
  • 2014-03-29
  • 1970-01-01
  • 2016-09-23
  • 1970-01-01
  • 2020-03-13
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 2014-03-20
相关资源
最近更新 更多