首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用htaccess对客户端隐藏部分URL?

如何使用htaccess对客户端隐藏部分URL?
EN

Stack Overflow用户
提问于 2016-04-30 03:43:52
回答 1查看 360关注 0票数 0

我在一个运行在Apache服务器上的网站上工作。PHP工厂生成并获取如下URL:

代码语言:javascript
复制
site.com/page/view/[id]/[vanity-url]

但是,客户端希望从视图中隐藏URL的一部分,因此在浏览器中它显示为:

代码语言:javascript
复制
site.com/[vanity-url]

服务器仍然需要查看完整的URL。

经过几个小时的搜索,我尝试了各种RewriteRules,最接近的结果似乎是:

代码语言:javascript
复制
RewriteRule ^page/view/(.*)/(.*)$ /$2 [R,L]

...but看起来什么都没做。我确信我的.htacces工作正常。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-04-30 16:02:41

不幸的是,这是不可能的。让我解释一下原因:

您声明服务器需要查看完整的URL。具体地说,这包括id部分,我确信你的框架需要它(如果服务器只需要看到虚荣部分,它就不需要它了)。您提供的代码将完整URL重定向到虚URL,从而使服务器在下一个请求中看不到完整URL。

因此,导航到/page/view/2/about-us将重定向到/about-us,并且地址栏将更改以反映这一点。这会导致一个新的请求被发送到服务器,其中只包含/about-us的虚URL。

因此,您需要将vanity URL重写回完整的URL (不进行重定向,以便/about-us按原样保留在地址栏中),但您不能这样做,因为vanity URL不包含id段,这似乎是框架提供正确响应所必需的。请记住,Apache无法猜测该特定虚URL的ID。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36946336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档