miketomlin: Если не разбираетесь, обратитесь к специалисту. Смысл подобные темы создавать, чтобы потом в них писать, что вы ни в чем этом не разбираетесь?
Для этого форум и существует. Вас никто и ничего не заставляет. Все помогают по собственному желанию. И ваше право так же просто пройти мимо, а не умничать.
Есть выражение "Если ваша фраза не изменит положение в лучшую сторону - лучше промолчите".
На форумах куча людей которые безвозмездно помогают друг другу или же дают готовые решения, и я этим людям очень благодарен. Если бы мне хватало знаний, я бы в свободное время тоже с удовольствием помог кому-нибудь.
А то, что я могу обратиться к специалисту, я и без Вас знаю.
VIC: RewriteEngine on RewriteBase / # Перенаправление при запросе *.html RewriteCond %{REQUEST_FILENAME} \.html$ RewriteRule (.*)\.html http://sitname.ru/$1/ [R=301,L] # Подстановка файла (если нет директории с тем же именем и есть файл) RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule (.*)/$ $1\.html [END]
После добавления этого когда в htaccess у меня сайт перестал открываться
Konstantin K
VIC:
RewriteEngine on RewriteBase /
# Добавляем слэш в конце URL # кроме файлов определенных типов RewriteCond %{REQUEST_URI} !\.(php|html?|jpg|jpeg|gif)$ RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]
# Удаляем символы .html в конце URL RewriteCond %{THE_REQUEST} ([^\s]*)\.html RewriteRule .* %1/ [L,R=301]
# Редиректим на html-файл, если он существует # и в конце URL (ищем в запросе) есть слэш RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.html -f RewriteCond %{THE_REQUEST} ([^\s]*)/ RewriteRule ^.*$ %1.html [L,QSA]
Данное решение работает так же как и якорь. В чем его смысл? Для этого я могу просто якорь использовать и больше ничего не писать.
Я уже писал в самом первом сообщении "Задача сделать навигацию по странице, чтобы поисковик не учитывал ее как ссылку + в адресной строке, чтобы не добавлялось #blablabla."
1) У вас и #blablabla есть
2) <a name="name1"></a> - ссылка тоже есть
Следовательно - ваше решение не имеет смысла быть!
Просьба помочь по делу. Зачем писать что попало?
Если вы не знаете как или не хотите утруждать себя, просто не отвечайте.
Если не разбираетесь, обратитесь к специалисту. Смысл подобные темы создавать, чтобы потом в них писать, что вы ни в чем этом не разбираетесь?
Для этого форум и существует. Вас никто и ничего не заставляет. Все помогают по собственному желанию. И ваше право так же просто пройти мимо, а не умничать.
Есть выражение "Если ваша фраза не изменит положение в лучшую сторону - лучше промолчите".
На форумах куча людей которые безвозмездно помогают друг другу или же дают готовые решения, и я этим людям очень благодарен. Если бы мне хватало знаний, я бы в свободное время тоже с удовольствием помог кому-нибудь.
А то, что я могу обратиться к специалисту, я и без Вас знаю.
miketomlin
А теперь можно по Русски? )))
Честно я не разбираюсь в PHP
Знаю только как верстать)
miketomlin
Спасибо конечно!
Но есть поставленная задача и нужно ее решить.
Всем спасибо! Лучше не стану закрывать.
А так же, теперь при обращении по несуществующему url
например sitename.ru/blablabla
сервер отдает ответ 301 и редирект на sitename.ru/blablabla/ (со слешем)
Как можно сделать, чтобы в этом случае не было редиректа, и для страницы sitename.ru/blablabla сразу был ответ 404?
VIC
RewriteEngine on
RewriteBase /
# Перенаправление при запросе *.html
RewriteCond %{REQUEST_FILENAME} \.html$
RewriteRule (.*)\.html http://sitname.ru/$1/ [R=301,L]
# Подстановка файла (если нет директории с тем же именем и есть файл)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule (.*)/$ $1\.html [END]
После добавления этого когда в htaccess у меня сайт перестал открываться
Konstantin K
RewriteEngine on
RewriteBase /
# Добавляем слэш в конце URL
# кроме файлов определенных типов
RewriteCond %{REQUEST_URI} !\.(php|html?|jpg|jpeg|gif)$
RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]
# Удаляем символы .html в конце URL
RewriteCond %{THE_REQUEST} ([^\s]*)\.html
RewriteRule .* %1/ [L,R=301]
# Редиректим на html-файл, если он существует
# и в конце URL (ищем в запросе) есть слэш
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteCond %{THE_REQUEST} ([^\s]*)/
RewriteRule ^.*$ %1.html [L,QSA]
Спасибо Вам! Перенаправление происходит.
Консоль ругалась, что не подгружается JS и PNG
Методом тыка изменил вот эту строчку
RewriteCond %{REQUEST_URI} !\.(php|js|css|xml|txt|ico|jpeg|htm|html?|jpg|jpeg|png|gif|png)$
Добавил туда CSS, JS, PNG. Кончено я не уверен, но не лишний ли там вопросительный знак после "HTML"?
Подскажите пожалуйста, как можно сделать, чтобы сервер отдавал ответ
sitemane.ru/css/filename.css/ - тут должно стать 404
sitemane.ru/css/filename.css - тут пусть остается как есть 200
sitemane.ru/js/filename.js/ - тут должно стать 404
sitemane.ru/js/filename.js - тут пусть остается как есть 200
sitemane.ru/robots.txt/ - тут должно стать 404
sitemane.ru/robots.txt - тут пусть остается как есть 200
sitemane.ru/sitemap.xml/ - тут должно стать 404
sitemane.ru/sitemap.xml - тут пусть остается как есть 200
Что было раньше и что хотели сделать?
Раньше было "пустой htaccess" =))
Нужно убрать расширение ".html" для всех html файлов, так как сайт без движка
Чтобы при обращении например к
sitname.ru/filename.html
sitname.ru/filename
был ответ сервера 301 и редирект на
sitname.ru/filename/
Sitealert - СПАСИБО БОЛЬШОЕ! РАБОТАЕТ!
Какой вы нудный, честное слово... Я дал вам пример в первом посте :)
ДОБРЫЙ ЧЕЛОВЕК!!! СПАСИБО ОГРОМНОЕ!!! ВСЕ РАБОТАЕТ!!! :)
Вот рабочий...
Данное решение работает так же как и якорь. В чем его смысл? Для этого я могу просто якорь использовать и больше ничего не писать.
Я уже писал в самом первом сообщении "Задача сделать навигацию по странице, чтобы поисковик не учитывал ее как ссылку + в адресной строке, чтобы не добавлялось #blablabla."
1) У вас и #blablabla есть
2) <a name="name1"></a> - ссылка тоже есть
Следовательно - ваше решение не имеет смысла быть!
Просьба помочь по делу. Зачем писать что попало?
Если вы не знаете как или не хотите утруждать себя, просто не отвечайте.