Apache重写规则在问号上失败
我们在创建URL时有一个输入错误,所以Apache重写规则在问号上失败,apache,.htaccess,rewrite,Apache,.htaccess,Rewrite,我们在创建URL时有一个输入错误,所以 /wasserh?hne/wasserhahn-1-2-zoll-dg11040-e+1281 应该重定向到 /wasserhaehne/wasserhahn-1-2-zoll-dg11040-e+1281 .htaccess以开头 RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.kull-design.com$1 [R,L=301] Rewr
/wasserh?hne/wasserhahn-1-2-zoll-dg11040-e+1281
应该重定向到
/wasserhaehne/wasserhahn-1-2-zoll-dg11040-e+1281
.htaccess以开头
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.kull-design.com$1 [R,L=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php [L]
RewriteRule ^eng/deu index.php
通常情况下,这样的事情是可行的
Redirect 301 /blog/tag/wasserhaehne-aus-messing/ https://www.kull-design.com/wasserhahn-classic/wasserhahn-13cm-40-593+631
但这失败了
RewriteRule /wasserh?hne/wasserhahn-1-2-zoll-dg11040-e+1281 https://www.kull-design.com/wasserhaehne/wasserhahn-1-2-zoll-dg11040-e+1281
我试着逃走,但没用。我怀疑那之后的部分是什么?被视为查询字符串,因此我尝试
RewriteCond %{QUERY_STRING} hne/wasserhahn-1-2-zoll-kurz-dg11040m+1277
RewriteRule ^/wasserh https://www.kull-design.com/wasserhaehne/wasserhahn-1-2-zoll-kurz-dg11040m+1277 [R=301,L]
但这并不能解决问题。也有类似的问题,但它们处理的是真正的查询字符串
更新:
我使用测试了PanamaJacks解决方案。似乎任何以wasserh开头的url都会重定向到同一个产品。所以我尝试了这个
https://www.kull-design.com/wasserh?hne/wasserhahn-gebogen-dg110h76870+1295
RewriteEngine On
RewriteCond %{QUERY_STRING} ^hne/wasserhahn-gebogen-dg11010+1295
RewriteRule ^wasserh(.*)$ https://www.kull-design.com/wasserhaehne/wasserhahn-gebogen-dg11010+1295 [R=301,L]
但它不符合条件。再次,转义-或+无效
更新:
请注意,您必须将这些重定向放在RewriteRule之前,RewriteRule会将任何内容发送到index.php,否则即使重写条件正确,它也不会工作。实际上,这应该可以工作。试试这条规则,看看它是否适合你
RewriteEngine On
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule ^wasserh(.*)$ https://www.kull-design.com/wasserhaehne/wasserhahn-1-2-zoll-kurz-dg11040m+1277? [R=301,L]
编辑:
然后只需尝试匹配该URL唯一的部分
RewriteCond %{QUERY_STRING} ^hne(.+)1281$
RewriteRule ^wasserh(.*)$ https://www.kull-design.com/wasserhaehne/wasserhahn-1-2-zoll-kurz-dg11040m+1277? [R=301,L]
查看我的更新,看看这是否有帮助。还有,为什么你不能更正URL呢?