【问题标题】:How do I hide a directory in .htaccess?如何在 .htaccess 中隐藏目录?
【发布时间】:2015-07-12 11:16:01
【问题描述】:

好的,假设我有网站 example.com

我的网站主题位于 example.com/directory/themes/name/

因此,例如,图片的直接 url 是: example.com/directory/themes/name/images/image.png

我想屏蔽或重写“目录”文件夹,因此在 url 中显示为: example.com/themes/name/images/image.png

而不是 example.com/directory/themes/name/images/image.png


简单来说就是这样

example.com/directory/themes

example.com/directory/plugins

改为:

example.com/themes

example.com/plugins

谢谢!

编辑:

我已经让以下内容以一种可以访问的方式工作。唯一的问题是 example.com/directory/themes/...etc 没有重定向到 example.com/themes/...etc

RewriteCond $1 !^directory
RewriteRule ^(.*) /directory/$1 [L]

【问题讨论】:

  • 我发现的唯一“某种”工作是:RewriteRule ^themes.* /directory/$0 [L] RewriteRule ^plugins.* /directory/$0 [L] 唯一的问题是,例如,当导航到 example.com/directory/themes/name/images/image.jpg 时,它不会重定向到 example.com/themes/name/images/image.jpg.

标签: .htaccess mod-rewrite directory subdirectory


【解决方案1】:

假设没有使用进一步的重写,并且 /directory/ 中的所有链接都将被重写,那么试试这个:

RewriteEngine on
RewriteBase /

RewriteRule ^/directory/(.+)$ /$1 [L,QSA]

如果文件中有进一步的重写,则丢失 [L]。

此答案取自Simply remove a url segment with .htaccess

并且已经得到答复。请在功能中多搜索一下。

【讨论】:

  • 我浏览了几十个帖子都没有解决办法。您建议的答案不能按原样工作。
猜你喜欢
  • 1970-01-01
  • 2015-07-10
  • 2013-07-06
  • 2019-04-01
  • 1970-01-01
  • 2017-08-03
  • 2015-07-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多