В корневом каталоге сайта site находится папка dir. При обращении по адресу site/dir происходит переадресация на site/dir/. (При этом отображается содержимое файла site/dir/index.html, как и должно быть.)
1. Что надо прописать в .htaccess (желательно в локальном site/dir/.htaccess), чтобы не происходило редиректа с site/dir на site/dir/ ? При этом при обращении к site/dir по-прежнему должен отображаться site/dir/index.html.
2. Имеет ли значение для гугла, если ранее страница была проиндексирована по адресу site/dir, все ссылки на нее как site/dir, но теперь она редиректится на site/dir/ ?
botobug
RewriteRule (.+)/$ /$1 [L,R=301]
ivan-lev
plustilino: ри обращении по адресу site/dir происходит переадресация на site/dir/.
Скорее всего, это делает mod_dir — проверить добавив в .htaccess (можно в конкретный <Location «/pat/of/site»>
DirectorySlash Off
plustilino: все ссылки на нее как site/dir, но теперь она редиректится на site/dir/ ?
Если 301 редирект — вес будет передаваться, адреса через некоторое время склеятся. Пользователь придёт, попадёт «куда надо»…
plustilino
Если добавить
<Location "/dir">
DirectorySlash Off
</Location>
получаю 500 Internal server error.
Если
RewriteRule (.+)/$ /$1 [L,R=301]
без изменений.
ivan-lev
plustilino: получаю 500 Internal server error.
В логе apache должны быть подробности ошибки..
plustilino
ivan-lev: В логе apache должны быть подробности ошибки..
[Sun May 10 16:12:22 2020] [alert] [client XXXXX] /home/xxx/site/public_html/.htaccess: <Location not allowed here
Полный адрес ничего не меняет.
Sitealert
plustilino: Полный адрес ничего не меняет.
Естественно. Потому что
Context: server config, virtual host
ivan-lev
plustilino: <Location not allowed here
Да, Location в .htaccess не работает..
Попробуйте без него.
plustilino
ivan-lev: Попробуйте без него.
Так перенаправление отключается, но содержимое файла index.html перестает отображаться даже если добавить DirectoryIndex index.html
В результате Forbidden.
Sitealert
plustilino: чтобы не происходило редиректа с site/dir на site/dir/
А он происходит?
ivan-lev
plustilino: но содержимое файла index.html перестает отображаться даже если добавить DirectoryIndex index.html
А почему Вы считаете, что он в этом случае должен отображаться?.
The DirectoryIndex directive sets the list of resources to look for, when the client requests an index of the directory by specifying a / at the end of the directory name.
plustilino: При этом при обращении к site/dir по-прежнему должен отображаться site/dir/index.html.
Внешний редирект от Apache убрали.. Теперь колдуйте с «внутренними» редиректами.. )
Sitealert: А он происходит?
После DirectorySlash off по идее не должен… Видимо, этим подтверждается:
plustilino
В корневом каталоге сайта site находится папка dir. При обращении по адресу site/dir происходит переадресация на site/dir/. (При этом отображается содержимое файла site/dir/index.html, как и должно быть.)
1. Что надо прописать в .htaccess (желательно в локальном site/dir/.htaccess), чтобы не происходило редиректа с site/dir на site/dir/ ? При этом при обращении к site/dir по-прежнему должен отображаться site/dir/index.html.
2. Имеет ли значение для гугла, если ранее страница была проиндексирована по адресу site/dir, все ссылки на нее как site/dir, но теперь она редиректится на site/dir/ ?
botobug
RewriteRule (.+)/$ /$1 [L,R=301]
ivan-lev
ри обращении по адресу site/dir происходит переадресация на site/dir/.
Скорее всего, это делает mod_dir — проверить добавив в .htaccess (можно в конкретный <Location «/pat/of/site»>
все ссылки на нее как site/dir, но теперь она редиректится на site/dir/ ?
Если 301 редирект — вес будет передаваться, адреса через некоторое время склеятся. Пользователь придёт, попадёт «куда надо»…
plustilino
Если добавить
получаю 500 Internal server error.
Если
RewriteRule (.+)/$ /$1 [L,R=301]
без изменений.
ivan-lev
получаю 500 Internal server error.
В логе apache должны быть подробности ошибки..
plustilino
В логе apache должны быть подробности ошибки..
[Sun May 10 16:12:22 2020] [alert] [client XXXXX] /home/xxx/site/public_html/.htaccess: <Location not allowed here
Полный адрес ничего не меняет.
Sitealert
Полный адрес ничего не меняет.
Естественно. Потому что
ivan-lev
<Location not allowed here
Да, Location в .htaccess не работает..
Попробуйте без него.
plustilino
Попробуйте без него.
Так перенаправление отключается, но содержимое файла index.html перестает отображаться даже если добавить DirectoryIndex index.html
В результате Forbidden.
Sitealert
чтобы не происходило редиректа с site/dir на site/dir/
А он происходит?
ivan-lev
но содержимое файла index.html перестает отображаться даже если добавить DirectoryIndex index.html
А почему Вы считаете, что он в этом случае должен отображаться?.
https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex
При этом при обращении к site/dir по-прежнему должен отображаться site/dir/index.html.
Внешний редирект от Apache убрали.. Теперь колдуйте с «внутренними» редиректами.. )
А он происходит?
После DirectorySlash off по идее не должен… Видимо, этим подтверждается:
Так перенаправление отключается,