Per*_*röm 4 php mysql apache drupal drupal-6
我希望得到一些反馈。我不确定这是否是正确的方法。
细节
我正在用PHP 5.3 / MySQL 4运行Apache 2,而Drupal 6是平台。
我正在开发一个网站,其中包含一些选定城市的餐厅评论。当用户到达站点时,它可以选择他们所在的城市。我将他们的选择存储在cookie中,如果他们没有做出选择,那么我选择了默认城市。
拟议的解决方案
现在,我希望URL mydomain.com/reviews根据城市选择将其重定向到特定于城市的URL。例如,如果我已选择巴黎作为我的城市,则为mydomain.com/reviews/paris。(如果未设置Cookie,则应将其重定向到默认城市。)
我认为这是最好的选择,因为我希望用户能够在不更改城市的情况下查看其他城市的评论。如果他们想查看伦敦餐厅的评论,只需访问mydomain.com/reviews/london。
为了获得最佳性能,我正在考虑让Apache检查cookie,并在用户转到mydomain.com/reviews时将其重定向到正确的城市。
所以这是我的问题...
要将Apache配置为执行此操作,请使用以下内容替换为cookie名称。
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/reviews/?$
RewriteCond %{HTTP_COOKIE} <cookie>=([^;]+)
RewriteRule .* http://mydomain.com/reviews/%1 [R=302,L]
Run Code Online (Sandbox Code Playgroud)Yelp将位置存储在cookie中,因此我认为这是一个好兆头,因为它们的流量非常大,而且看起来运行良好。
使用Apache进行重定向有优点和缺点,但是主要缺点是,在代码中而不是在服务器上维护重写规则更加容易。您可以快速进行修复和部署,而不必更改和重新启动所有Apache服务器。