所以我一直在经历一个相当大脑混乱的问题,似乎有很多相互矛盾的问题。
在新网站(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]
答案 0 :(得分:0)
试试这个解决方案:
RewriteRule ^(.*)$ unit.php/available-units/32ft-x-10ft/?unit=32*10 [L,QSA]