Rusya Devlet Başkanı Vladimir Putin, Afrika'nın Afrikalılar İçin Bir Mezarlık Olduğunu Söyledi

Htaccess aracılığıyla bir sayfayı yeniden yönlendirmeye çalışıyorum, ancak çalışmıyor gibi görünüyor.

Eski sayfa: / dyn /? Q = müşteri% 20reference & f = 1,1,1,1,1,1 & c = 10,10,10,10,10,10 & s = 1,1,1,1,1,1,1 & st = 1

Yeni sayfa: / müşteri referansları /

Yani bu kadar basit olmalı:

RewriteEngine On RewriteCond %{QUERY_STRING} ^q=customer(?:[\ +]|%20)reference&f=1$ [NC] RewriteRule ^dyn/$ /1? [R=301,NE,NC,L] 

Ama işe yaramıyor gibi görünüyor. Orijinal sayfanın dinamik URL'si nedeniyle mi?

Yeni sayfa aslında önemliyse farklı bir fiziksel php sayfasıdır.

BTW, .htaccess'te düz bir 301 Yönlendirmesi de denedim. Bu da işe yaramadı:

redirect 301 /dyn/?q=customer%20reference&f=1,1,1,1,1,1&c=10,10,10,10,10,10&s=1,1,1,1,1,1,1&st=1 /customer-references/ 

Ve bir başka başarısız girişim şuydu:

RewriteCond %{QUERY_STRING} ^customer%20reference&f=1,1,1,1,1,1&c=10,10,10,10,10,10&s=1,1,1,1,1,1,1&st=1$ RewriteRule ^$ http://www.domain.com/customer-references/? [R=301,L] 

Bunu olması gerekenden daha mı zorlaştırıyorum?

  • RewriteRule'unuz, dyn / (başka bir şey olmayan) olan URL'nin yerini alır. Dyn / sonrasında $ 'dan kurtulmayı deneyin
  • RewriteRule'da $ after dyn'i kaldırmak bunu yapmıyor gibi görünüyor. "/? Q = müşteri% 20 referansı & f = 1,1,1,1,1,1 & c = 10,10,10,10,10,10 & s = 1,1,1,1,1,1, Yeniden Yazma Kuralında 1 & st = 1 "?
  • Emin değil. Diğer bir problem de RewriteCond'da $ f = 1 $ 'dan sonraki $' dır. Bu, yalnızca bu şekilde biten dizeleri aradığınız ve dolayısıyla f = 1,1,1,1 vb. İle eşleşmeyeceğiniz anlamına gelir.

Çözümü kendi başıma bulduğum için övgü alamamama rağmen bunu başardı. Kardeş site stackoverflow, .htaccess için doğru kodu sundu

RewriteCond %{QUERY_STRING} ^q=customer%20reference&f= [NC] RewriteRule ^dyn/$ /customer-references/? [L,R=301] 

Sizin için çalışmış: Charles Robertson | bize ister?