WordPress:.htaccess E8重定向永久链接。条件重定向?

时间:2014-05-06 02:11:57

标签: wordpress .htaccess mod-rewrite redirect internet-explorer-8

在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

1 个答案:

答案 0 :(得分:1)

好的,既然您解释了这种情况,请试试这个。我们的想法是,如果HTTP_USER_AGENT不是MSIE [6-8],那么它将转到标准的WordPress控制器。但如果HTTP_USER_AGENTMSIE [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]