我想在用户采取高级计划后更改网站的原始页面,但URL路径保持不变。
如果用户不是高级用户,则我的网站显示URL路径:www.mydomain.com/user-545
(原始页面-www.mydomain.com/page1.php)
但是在用户采取我的高级计划后,我需要保持URL路径不变www.mydomain.com/user-545
,但是需要更改我的原始页面-www.mydomain.com/page2.php
答案 0 :(得分:2)
最好使用基于url页面上包含的条件来包含相关页面。
答案 1 :(得分:0)
您将要设置一个URL掩码。
在htaccess文件中,您将添加以下内容:
RewriteEngine On
RewriteRule ^user-545/?$ /page2.php
或者您可能要按照this answer中的说明设置代理。
答案 2 :(得分:0)
您可以通过技巧达到目标。在用户登录时设置cookie,例如user_logged_in
,在用户退出时将其删除。然后检查用户是否登录,将用户定向到page2.php
,否则,通过检查page1.php
是否使用RewriteCond
文件来设置RewriteRule
和.htaccess
cookie user_logged_in
是否存在。
确保重写模块已打开。然后将RewriteCond
和RewriteRule
设置如下:
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !user_logged_in [NC]
RewriteRule ^/?user-[0-9]+$ /page1.php
RewriteCond %{HTTP_COOKIE} user_logged_in [NC]
RewriteRule ^/?user-[0-9]+$ /page2.php
// Other rules
注意:在这种情况下,您必须使用加密技术上的cookie。
答案 3 :(得分:0)
为什么在.htaccess中这样做?用PHP做到这一点会更简单吗?
创建新的page1.php:
需要'session-start.php'; 如果(array_key_exists('premium',$ _SESSION)){ 如果($ _SESSION ['premium']){ 包括'premium.php'; 出口(); } } 包括'normal.php';
您完成了。