Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   ЧПУ в htacces нужно ли делать редиректы со старых урл, если дублируют страницу? (https://javascript.ru/forum/server/75876-chpu-v-htacces-nuzhno-li-delat-redirekty-so-starykh-url-esli-dubliruyut-stranicu.html)

Zhenyaxxxx 14.11.2018 11:48

ЧПУ в htacces нужно ли делать редиректы со старых урл, если дублируют страницу?
 
После создания ЧПУ в htacces нужно ли делать редиректы со старых урл, если дублируют страницу? вот такого вида команда в htaccess:

RewriteEngine on

RewriteRule ^([^/.]+)/?$ ?page=$1 [L]

И если нужно, то как зделать одной командой, не перечисляя каждую страницу в 301 редиректе..?

Nexus 14.11.2018 12:09

А старый вид адресов такой?
site.ru/?page=index

Zhenyaxxxx 14.11.2018 12:16

да....

Nexus 14.11.2018 12:22

Попробуйте так:
RewriteRule \?page=(.)$ https://site.ru/$1 [R=301,L]

Zhenyaxxxx 14.11.2018 12:25

написать этот код его вместо моего в htaccess или добавить его просто?

Nexus 14.11.2018 12:26

Zhenyaxxxx, в конец или после RewriteEngine on.
Если не получится, то почитайте: https://pixelplus.ru/samostoyatelno/...-redirekt.html

laimas 14.11.2018 12:29

Nexus,
не нужно тут полного адреса.

Zhenyaxxxx 14.11.2018 12:39

Еще подскажите... какой должен быть результат после написания кода...
После перехода по ссылке site.ru/?page=index - перекидывать меня на site.ru/index ?

Nexus 14.11.2018 12:42

Вроде так должно быть.
RewriteEngine on

RewriteCond %{QUERY_STRING} ^page=(.*)$ [NC]
RewriteRule ^$ /%1? [R=301,L]

RewriteRule ^([^/.]+)/?$ ?page=$1 [L]

Zhenyaxxxx 14.11.2018 12:48

Если так как вы написали:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^page=(.*)$ [NC]
RewriteRule ^$ /%1? [R=301,L]

RewriteRule ^([^/.]+)/?$ ?page=$1 [L]


то вообще отключается... пишет слишком много переадрисаций...


Часовой пояс GMT +3, время: 03:47.