使用" RewriteEngine on"仅当访问者在会话中时才在.htaccess中

时间:2016-04-19 06:47:24

标签: php .htaccess mod-rewrite

因此,未登录的用户将看到与登录用户相同的链接,不同之处在于记录的用户在关注链接后将看到不同的页面。

请注意,我希望该链接保持不变,这意味着我不想将最终网址替换为另一个网址。另外,我想避免玩饼干。

如果不能使用rewriteengine完成,是否还有另一种涉及.htaccess / php的方式?

3 个答案:

答案 0 :(得分:0)

不需要与.htaccess相关的任何内容。

将两个页面合并为一个页面,并将用户应该看到的内容包装为if logged_in() {...}或用于检查用户是否已登录的内容。

这应该足够了。

答案 1 :(得分:0)

NO。

我没有意识到没有cookie可能。

或者您可以使用HTTP_SESSION

阅读mod_session环境变量的会话
  

如果已配置,则可以从HTTP_SESSION环境变量中读回会话。默认情况下,会话保持私有,因此必须使用SessionEnv指令显式启用此会话。   从会话中读取

Session On
SessionEnv On
SessionCookieName session path=/
SessionHeader X-Replace-Session
     

一旦读取,CGI变量HTTP_SESSION应包含值key1 = foo& key3 = bar。

有关如何将会话读入HTTP_SESSION env的详细信息,请参阅mod_session的apache手册。变量。

答案 2 :(得分:0)

好的,我找到了解决方案。我正在使用rewriteengine将js文件指向一个php文件然后在那个php文件中,我根据会话的存在来回显相应的javascript。

很酷,考虑到代码调用.js文件,但实际上它是一个只回显js代码的php文件。

相关问题