在WordPress中,我通过固定链接将页面URL设置为帖子名称。问题是我想将所有Internet Explorer 8页面重定向到名为ie/
的页面。问题是有2个.htaccess
重定向。我挖了很多,发现了大量的Internet Explorer 8重定向,但没有条件满足我的需求。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "MSIE [6-8]" [NC]
RewriteRule ^(.*)$ http://website.com/ie [R=301,L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
答案 0 :(得分:1)
好的,既然您解释了这种情况,请试试这个。我们的想法是,如果HTTP_USER_AGENT
不是MSIE [6-8]
,那么它将转到标准的WordPress控制器。但如果HTTP_USER_AGENT
为MSIE [6-8]
,则会转到http://website.com/ie
:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_USER_AGENT} !"MSIE [6-8]" [NC]
RewriteRule . /index.php [L]
RewriteCond %{HTTP_USER_AGENT} "MSIE [6-8]" [NC]
RewriteRule ^(.*)$ http://website.com/ie [R=301,L]
</IfModule>
# END WordPress
或尝试更换这些条件的顺序:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_USER_AGENT} "MSIE [6-8]" [NC]
RewriteRule ^(.*)$ http://website.com/ie [R=301,L]
RewriteCond %{HTTP_USER_AGENT} !"MSIE [6-8]" [NC]
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
但我不能保证这会起作用,因为它对于浏览器来说是特殊的。服务器设置我无权访问。
另外,我相信这一行:
RewriteRule ^(.*)$ http://website.com/ie [R=301,L]
可以改为:
RewriteRule ^(.*)$ /ie [R=301,L]