【问题标题】:How to Prevent Specific links such as "?a=page" from opening如何防止打开特定链接,例如“?a = page”
【发布时间】:2012-12-22 16:58:15
【问题描述】:

我有一个使用“Smarty Engine”和“?a=link”链接方法的网站(我不知道这种链接方法叫什么)

我已经在 .htaccess 中使用了 RewriteEngine 来使用 home.php 等 .php 链接,而不是 ?a=home

但是如何防止 ?a=home 打开?所以页面只能用 home.php 链接打开

编辑:例如登录页面是 ?a=login ,我使用这些行将其打开为 login.php

RewriteEngine on
RewriteRule ^/*login.php$   ./?a=login [L]

但我还需要禁用?a=login,所以用户只能使用“login.php”打开登录页面

【问题讨论】:

  • 很难完全理解这个问题,但您似乎想映射到home.php 所有带有?a=link?a=home 等查询的URL。那正确吗?一些例子总是有帮助的。
  • 感谢您的回复,我的脚本使用诸如 ?a=home 和 ?a=contact 之类的链接,我希望它仅加载为我已经定义的 home.php 和 contact.php在 .htaccess 中,但我不希望任何用户能够使用 ?a=home 链接打开 home.php(我想禁用 .htaccess 中的 ?a=XXX 链接)
  • ¿您的 htaccess 文件如何?据我了解,您想要的是摆脱查询、句号,这可能在 htaccess 中完成,因此了解它很重要。
  • 我刚刚将这个添加到问题中,是的,我想摆脱 ?a=page 链接

标签: .htaccess smarty


【解决方案1】:

根据您的示例,您所要做的就是这样:

RewriteEngine on
RewriteRule ^(.*)$   $1? [L]

最后的? 删除任何查询

【讨论】:

  • 当然。设置这个条件:RewriteCond %{QUERY_STRING} !QueryToKeep 这样规则将跳过所有查询,如QueryToKeep
  • 谢谢你我的好朋友,我再次尝试投票但失败了,我希望我能投票更多:D再次感谢
猜你喜欢
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 2020-05-02
相关资源
最近更新 更多