因为我是.htaccess的新手,我无法弄清楚如何使这项工作: 在我的网络服务器上,默认的index.html(/ var / www /)应该重定向到不同的其他index.html,关于当天的时间和浏览器语言......
所有页面都相互链接,以便用户可以在语言和“样式”之间跳转。 仅使用适用于德语的时间条件,但我如何将其与“英语”相结合? 我试过这个,但它不起作用......
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{TIME_HOUR} >07
RewriteCond %{TIME_HOUR} <16
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^index\.html$ /e/i/index.html [L]
RewriteCond %{TIME_HOUR} >07
RewriteCond %{TIME_HOUR} <16
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^index\.html$ /i/index.html [L]
RewriteCond %{TIME_HOUR} >16
RewriteCond %{TIME_HOUR} <07
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^index\.html$ /e/index.html [L]
RewriteCond %{TIME_HOUR} >16
RewriteCond %{TIME_HOUR} <07
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^index\.html$ /index.html [L]
有人可以帮忙吗? 非常感谢!
我不得不改变网站的结构,所以我也改变了.htaccess文件:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-Language} (de) [NC]
RewriteCond %{TIME_HOUR} >07
RewriteCond %{TIME_HOUR} <16
RewriteRule ^index\.html$ /d/i/index.html [L]
RewriteRule ^index\.html$ /d/index.html [L]
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteCond %{TIME_HOUR} >16
RewriteCond %{TIME_HOUR} <07
RewriteRule ^index\.html$ /e/i/index.html [L]
RewriteRule ^index\.html$ /e/index.html [L]
现在德国的时间条件很好,但似乎英语条件甚至没有传递给浏览器...... 有人可以给我一个提示,可能是什么问题? 非常感谢!
答案 0 :(得分:0)
我找到了一个适合我的解决方案......
在/ var / spool / timing中准备好时间的文件:
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0816
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1603
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0816
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1604
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0815
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1605
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0815
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1606
...
...
...
...
这两个文件与其余部分一样,也在/ var / spool / timing中 .begin
Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-Language} ^.*en.*$ [NC]
RewriteRule ^index\.html$ /e/i/index.html [L]
RewriteCond %{HTTP:Accept-Language} ^.*de.*$ [NC]
和.end
RewriteRule ^index\.html$ /d/i/index.html [L]
RewriteRule ^index\.html$ /d/index.html [L]
RewriteCond %{HTTP:Accept-Language} ^.*en.*$ [NC]
RewriteCond %{TIME_HOUR} >17
RewriteCond %{TIME_HOUR} <06
RewriteRule ^index\.html$ /e/index.html [L]
每日脚本占用前两行并将它们放入一个新行。 然后它将所有三个文件合并到新的.htaccess中。 最后它再次清理文件。
#!/bin/sh
sed -n 1,2p /var/spool/timing/2014.txt >> /var/spool/timing/.mid
cat /var/spool/timing/.begin /var/spool/timing/.mid /var/spool/timing/.end >
/var/www/.htaccess
sed -i '1,2d' /var/spool/timing/.mid & sed -i '1,2d'
/var/spool/timing/2014.txt
所以最终每天都有一个新的.htaccess:
Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-Language} ^.*en.*$ [NC]
RewriteRule ^index\.html$ /e/i/index.html [L]
RewriteCond %{HTTP:Accept-Language} ^.*de.*$ [NC]
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0816
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1603
RewriteRule ^index\.html$ /d/i/index.html [L]
RewriteRule ^index\.html$ /d/index.html [L]
RewriteCond %{HTTP:Accept-Language} ^.*en.*$ [NC]
RewriteCond %{TIME_HOUR} >17
RewriteCond %{TIME_HOUR} <06
RewriteRule ^index\.html$ /e/index.html [L]
到目前为止它运行良好,我只需要在结束时设置一个新的2015.txt 今年 - 如果那是nacessary ......我想我会把它全部拿走 再一年。