不用说,我对HTACCESS一无所知。我正在用PHP编写一个推荐系统,虽然当我使用HTACCESS使URL更漂亮时,它会停止工作。示例:
从…
http://localhost/ref.php?referral=1至
http://localhost/ref/1现在代码可以工作了,当我使用HTACCESS的时候它就停止工作了,我记得我从某个地方读到,如果我没有错的话,你不能从一个通过HTACCESS的网址使用_GET函数?尽管如此,我还是尝试了HTACCESS规则,但它似乎不起作用。当它丢弃cookie时,它会按照它告诉的代码进行重定向,但当我使用缩短的URL时,它实际上并没有丢弃cookie。
RewriteRule ^ref/([^/]+)(|/)$ /ref.php?referral=$1脚本的代码,如果它有助于理解问题..
if (isset($_GET['referral']))
{
$value = $_GET['referral']; // Let's set the cookie value
// Drop the cookie, let it expire in an hour.
setcookie("HHRefCookie", $value, time()+3600);
// Redir them to register page
header("Location: " . WWW . "/register");
}以我的理解,这应该是可行的吗?如果不是的话。如有反馈,将不胜感激。对于正确方向的指导,我们将非常感激!
发布于 2016-01-26 19:46:53
你看过服务器返回的状态码了吗?我看不出您提供的重写规则如何与您正在使用的URL模式匹配(即,我希望服务器返回404)。
尝试:
RewriteRule ^/ref/(.*)$ /ref.php?referral=$1 [L](如果这是Apache2.4,则使用END而不是L)
https://stackoverflow.com/questions/35012904
复制相似问题