Попытка сделать 301 переписывает, но добавлена ​​строка нежелательных URL - PullRequest
1 голос
/ 20 июля 2011

Пытаюсь сделать 301 переписывание, но добавлена ​​строка URL-адреса ..

Я думаю, что это происходит, потому что я использую перезапись SEO и перенаправление 301 сверху?Любые предложения о том, как это исправить, будут высоко оценены!

Проблема:

Этот URL: domain.nl/meubels/Tafels/Theetafels-en-wijntafels/

Следует переписать на: domain.nl/meubels/tafels/theetafel-wijntafel/

Но это переписано в: domain.nl/meubels/tafels/theetafel-wijntafel/?activetab=Tafels&cat=Theetafels-en-wijntafels

Где это не должно быть добавлено к URL: ?activetab=Tafels&cat=Theetafels-en-wijntafels

Мой файл htaccess:

ErrorDocument 404 /error404.php
RewriteRule ^meubels/$ product-listing.php?show=home
RewriteRule meubels/(.*)/(.*)/(.*)/$ product-listing.php?activetab=$1&cat=$2&open=$3
RewriteRule meubels/(.*)/(.*)/$ product-listing.php?activetab=$1&cat=$2
RewriteRule product/(.*)/$ product-detail.php?id=$1
RewriteRule info/(.*)/$ text-page.php?show=$1
RewriteRule info/(.*)/$ text-page.php?show=$1
# DirectoryIndex product-listing.php?cPath=32

Redirect 301 /meubels/Tafels/Theetafels-en-wijntafels/ /meubels/tafels/theetafel-wijntafel/

Ответы [ 2 ]

2 голосов
/ 20 июля 2011
RewriteRule ^meubels/Tafels/Theetafels-en-wijntafels/ http://domain.nl/meubels/tafels/theetafel-wijntafel/ [R=301,L]

И, как сказал @Liam Bailey, он должен быть на вершине, прежде чем другие правила перезаписи.

1 голос
/ 20 июля 2011

.htaccess работает в вертикальном порядке вниз по странице, поэтому, если вы переместите свой 301 выше правил перезаписи для мюбелей, он будет перенаправлен, а затем отобразит страницу с параметризованными мюбелями на понятном URL.

ErrorDocument 404 /error404.php
Redirect 301 /meubels/Tafels/Theetafels-en-wijntafels/ /meubels/tafels/theetafel-wijntafel/
RewriteRule ^meubels/$ product-listing.php?show=home
RewriteRule meubels/(.*)/(.*)/(.*)/$ product-listing.php?activetab=$1&cat=$2&open=$3
RewriteRule meubels/(.*)/(.*)/$ product-listing.php?activetab=$1&cat=$2
RewriteRule product/(.*)/$ product-detail.php?id=$1
RewriteRule info/(.*)/$ text-page.php?show=$1
RewriteRule info/(.*)/$ text-page.php?show=$1
# DirectoryIndex product-listing.php?cPath=32

В первый раз, когда он смотрит на htaccess, он перенаправляет на 301-й прямой, затем во второй раз он пропускает это и выполняет перезапись. Если это не сработает, попробуйте RewriteEngine On выше ваших правил перезаписи.

...