Wordpress重定向查询(?)字符串 - 每次擦除HTAccess文件' x'多少时间

时间:2016-07-20 08:57:16

标签: wordpress .htaccess redirect

所以我一直在经历一个相当大脑混乱的问题,似乎有很多相互矛盾的问题。

在新网站(wordpress)上,我设置了很多重定向,其中包含查询字符串。现在我激活的所有重定向插件都无法处理这些,所以我在这里找到了帮助我手动将这些添加到.htaccess文件中的主题。

这是一个例子(见**行)

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
**RewriteCond %{QUERY_STRING} unit=32x10**
**RewriteRule ^unit\.php$ /available-units/32ft-x-10ft/? [L,R=301]**
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我有一长串RewriteCond / Rules。

我们注意到,经过一段时间后,我添加的这些手动重定向都被擦除,.htaccess文件又恢复为正常版本(见下文)。为了防止这种情况,我将文件权限更改为不可写。

# 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

但是,由于这样做,我现在无法使用Hide My WP和Really Simple SSL,因为它们都需要访问.htaccess文件。

我还能采取其他措施来解决这些重定向问题吗?

也许我把它们放在.htacess文件中的错误位置?

非常感谢您的帮助。

非常感谢

更多详细信息

这是更多存在的查询字符串重定向....

RewriteCond %{QUERY_STRING} unit=32x10
RewriteRule ^unit\.php$ /available-units/32ft-x-10ft-32x10/? [L,R=301]
RewriteCond %{QUERY_STRING} unit=4579
RewriteRule ^unit\.php$ /available-units/32ft-x-20ft-4579/? [L,R=301]
RewriteCond %{QUERY_STRING} unit=4147
RewriteRule ^unit\.php$ /available-units/unit-ref-4147/? [L,R=301]
RewriteCond %{QUERY_STRING} unit=4768
RewriteRule ^unit\.php$ /available-units/2020-range-unit-ref-4768/? [L,R=301]

1 个答案:

答案 0 :(得分:0)

试试这个解决方案:

RewriteRule ^(.*)$ unit.php/available-units/32ft-x-10ft/?unit=32*10 [L,QSA]