301 редирект с url прописанного буквами на католог

R
На сайте с 06.02.2022
Offline
27
#51
estic #:
Сам я такими манипуляциями не занимаюсь

Зачем тогда тратите свое и что более важно мое время. Ответы у меня под носом были, занимались бы своими трафаретами. Извиняюсь, но что вы написали вода водой и какой я дурак что не использую какие либо движки. Вопрос был в другом и он закрыт.

W1
На сайте с 22.01.2021
Offline
289
#52
ronibestplay #:
Вопрос был в другом и он закрыт.

К какому решению пришли в конце концов? Я прочитал всю тему, но так и не увидел правильного решения. А правильное решение заключается во внутреннем редиректе с URL каталога на нужный файл. И редирект 301 или 403/404 в случае прямого запроса к этому файлу.
Но на самом деле, сами физические каталоги тут не нужны, насколько я понял из прочтения темы. И соответственно редирект 301 тоже не нужен. И вообще, всё это можно организовать через единую точку входа.
Короче, не мудрите и делайте как положено.

Мой форум - https://webinfo.guru –Там я всегда на связи
E
На сайте с 01.10.2017
Offline
94
#53
ronibestplay #:
Зачем тогда тратите свое и что более важно мое время.
Я дал идею. Многим этого достаточно. Если вы не из их числа, никто в этом не виноват.


webinfo #:
А правильное решение заключается во внутреннем редиректе с URL каталога на нужный файл.

Для автора это сложно. Он даже его до конца не понимает, раз называет "водой".

Домены на продажу: https://p20.ru/collection/domains-for-sale
W1
На сайте с 22.01.2021
Offline
289
#54

Один из вариантов правильного решения:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^./]+)/?$ /content/$1.html [L]
E
На сайте с 01.10.2017
Offline
94
#55

Еще бы проверка наличия целевого файла для перенаправления не помешала. Она здесь в приоритете 😊

Если убрать каталоги наподобие privet, пропадет автоматическая коррекция /privet --> /privet/ и т.п.

W1
На сайте с 22.01.2021
Offline
289
#56
estic #:
Еще бы проверка наличия целевого файла для перенаправления не помешала.

А зачем? Есть же ErrorDocument 404.

Но лично я предпочитаю решать подобные задачи через index.php.

R
На сайте с 06.02.2022
Offline
27
#57
webinfo #:
К какому решению пришли в конце концов?

В конечном итоге такая строка в общем .htaccess RewriteRule ^(.*)/(.+)\.html$ https://%{HTTP_HOST}/$1/ [R=301,L] 

+ для каждого файла созданного с отличным от index названием свой .htaccess DirectoryIndex любое.html

Ваши варианты также не срабатывают, по другому делать уже не буду. Спасибо за помощь.

W1
На сайте с 22.01.2021
Offline
289
#58
ronibestplay #:
Ваши варианты также не срабатывают, по другому делать уже не буду.

Мои варианты рабочие: 
http://test1.webinfo.guru/privet
http://test1.webinfo.guru/privet1

А Ваше решение кривое и неправильное. Называется "удалять гланды через ...".

E
На сайте с 01.10.2017
Offline
94
#59
webinfo #:
А зачем? Есть же ErrorDocument 404.

Если есть, то хорошо. А то на серверной странице 404 может быть показан "адрес" внутреннего перенаправления.

Обычно при внутреннем перенаправлении (конечно, если это не перенаправление во фронт-контроллер) делают подобный тест, чтобы не возникало дополнительных вопросов, есть ли директива ErrorDocument 404 и т.п.

E
На сайте с 01.10.2017
Offline
94
#60
ronibestplay #:
В конечном итоге такая строка...

Вам в теме как минимум два раза написали, что (обычная) переадресация прямого отношения к делу не имеет. А я писал, что лучше, если ее вовсе не будет (при должном сокрытии файлов она не нужна). Но все это "вода". Кстати, в "движках" (ваш термин) вы редактируете нечто, непосредственно соответствующее "каталогу" (/privet/). Никаких дополнительных файлов наподобие /privet/index.html вовсе не существует. Физически каталога privet в файловой системе тоже не существует 😊 (Они только где-то в файловом кэше могут проявляться. Но вам до этого, как до Луны.)

Надеюсь, в DW вы делаете ссылки с адресами наподобие /privet/, т.е. что поисковые системы и пользователи не имеют постоянного "опыта 301" при взаимодействии с вашим сайтом.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий