Apache Modrewrite & 301 redirect - динамические URL с символами - PullRequest
0 голосов
/ 02 января 2011

В течение нескольких недель я буквально пытался переименовать эти URL-адреса, а также обеспечить перенаправление старого 301 на новый:

www.example.com /? Mod = 11 & p = 215 -www.example.com/clean-url-section www.example.com/?mod=96&tab=6 - www.example.com/clean-url-section-2

Кто-нибудь знает, почему яне повезло, я получил 500 ошибок сервера или вообще ничего!Это из-за вопросительных знаков и символов?Я был бы признателен за любую помощь.

Я пробовал это (ниже), и он, кажется, перенаправляет на http: // www.example.com/new-page (эта страница не существует, поскольку я только хочу, чтобы он переименовал страницу, НО используйте 301, чтобы поисковые системы продолжали вас ценить)

RewriteCond %{query_string} mod=96&tab=6
RewriteRule (.*) http:// www. example.com/new-page? [R=301,L]

Почесывая голову!

1 Ответ

0 голосов
/ 02 января 2011

Сначала вы должны выполнить все свои тесты с кодом ошибки 302 и изменить их на 301 только тогда, когда все работает.Например, когда вы отправили ответ с кодом 301, браузер, который вы использовали (или робот, получивший ответ), не будет запрашивать у вас второй раз этот URL.Это может объяснить, почему все ваши тесты все еще не пройдены.Поэтому используйте 301 с осторожностью!

Затем для отладки перезаписи установите RewriteLoLevel на 9, а RewriteLog - на файл во временном каталоге и проверьте, что делает механизм перезаписи.иметь много URL, чтобы переписать проверку для RewriteMap, может быть полезным.

...