如何根据cookie值进行htaccess重定向

Bin*_*Gal 8 cookies .htaccess redirect

我在谷歌失败了,我在这里找不到答案.对不起,我是htaccess的新手,它的语法很奇怪,很难学!

你可以看到我在这里想做什么......

RewriteEngine on
RewriteCond %{HTTP_COOKIE} ^.*user_id=(\d+).*$ [NC]
RewriteRule .* http://localhost/mysite/cache/$1 [R=301,L]
RewriteRule .* http://localhost/mysite/cache/guest [R=301,L]
Run Code Online (Sandbox Code Playgroud)

我正在为每个用户缓存加载速度的页面.如果他们使用cookie登录,我想重定向到正确的HTML缓存文件夹,否则我想加载访客缓存.

现在它进入了一个infi循环.如果我删除[R = ...然后我得到内部服务器错误.

请帮忙!!!谢谢!!!

met*_*ter 8

这适用于像id=1234以下cookie :

RewriteEngine on
RewriteCond %{HTTP_COOKIE} ^id=([0-9]*)$ [NC]
RewriteRule .* http://localhost/mysite/cache/%1 [R=301,L]
RewriteRule .* http://localhost/mysite/cache/guest [R=301,L]
Run Code Online (Sandbox Code Playgroud)

现在针对您的问题:确保您的htaccess不适用于您重写的页面!例如,如果您的.htaccess位于/mysite/.htaccess

它将再次使用

http://localhost/mysite/cache/%1
Run Code Online (Sandbox Code Playgroud)

这可能是你无限循环的原因.要解决此问题,请确保htaccess规则未应用于子目录或使用其他目录进行缓存.