Проблема в том, что уродливый URL должен быть виден, так как он вам нужен для перезаписи. Только не делайте никаких ссылок на уродливые URL.
Если поисковые системы уже знают об ужасных URL, вы можете добавить еще один параметр запроса, скажем, show=yes
.
В правиле перезаписи убедитесь, что у вас есть последний параметр show=yes
. Если нет, перенаправьте на красивый URL, который, в свою очередь, перезапишет на некрасивый URL с последним параметром. Затем никогда не связывайте внешне URL-адрес с параметром show=yes
.
Пример:
/rate-page.php?state=Somestate&city=Somecity&show=yes
Доступ к этой странице покажет содержимое, но вы не должны делать эту ссылку видимой откуда-либо.
/city/Somestate/Somecity
следует переписать на /rate-page.php?state=Somestate&city=Somecity&show=yes
, а
/rate-page.php?state=Somestate&city=Somecity
следует перенаправить на /city/Somestate/Somecity