barabash: Хочу сделать что бы часть article.php?id= не отображалась, но передавала get запрос, в итоге что бы:
Было так - /blog/article.php?id=link_my.html
Стало так - /blog/link_my.html
Это можно сделать в htaccess или я изначально не правильно создал структуру php файлов?
Вам и написали, как это можно сделать в .htaccess. Именно с Вашей структурой файлов. Ваш get-запрос передаётся в файл article.php после преобразования через правило RewriteRule, и в ссылке кусок "article.php?id=" совершенно не нужен, id вытаскивается из адреса в ходе преобразования.
iura25: А вот код главной страницы которая не работает (получен из браузера)
Осмелюсь предположить, что Вы скачали не движок, а какой-то хлам. Потому что такого мусора, что у Вас в браузере при выводе главной страницы, вообще быть не должно никогда. Советую посмотреть файл index.php на предмет наличия там внятного содержимого.
ChrisKorr: А зачем главные сайты делать на отдельной ЦМС, она ж меняться будет крайне редко, а грузиться страничка, если на HTML, будет наоборот быстрее? Или что-то упускаю?
Ну это у кого как. Если лёгкая CMS, то она загрузит стартовую страницу быстрее, чем Ваш лэндинг. И не у всех одностраничники - чаще удобнее делать несколько страниц, а там пойдут проблемы с общими для всех страниц элементами. Типа изменил меню - меняй на каждой странице. Да и на одностраничнике удобнее изменять конкретный материал, а не гонять туда-сюда всю страницу.
Такая конструкция
RewriteCond %{QUERY_STRING} ^(.*)$здесь и не должна работать, потому что произойдёт зацикливание.Должно быть
RewriteCond %{QUERY_STRING} ^(.+)$илиRewriteRule ^article/$ /article/? [R=301,L]
RewriteCond %{THE_REQUEST} \?А вот почему именно у Вас эти конструкции не работают - отсюда не видно.RewriteRule ^article/$ /article/? [R=301,L]
Это называется взлом сайта.
но как это сделать на php?
А зачем Вам это делать на php, если у Вас выделенный сервер? Делайте через SSH.
---------- Добавлено 27.10.2016 в 22:37 ----------
Да и в SSH думаю она тоже не пройдет - сервер не понимает старую sqlite
Если бы это было возможно, то таким же макаром можно было бы получать пароли-логины, переписку и прочие конфиденциальные данные.
Хочу сделать что бы часть article.php?id= не отображалась, но передавала get запрос, в итоге что бы:
Было так - /blog/article.php?id=link_my.html
Стало так - /blog/link_my.html
Это можно сделать в htaccess или я изначально не правильно создал структуру php файлов?
Вам и написали, как это можно сделать в .htaccess. Именно с Вашей структурой файлов. Ваш get-запрос передаётся в файл article.php после преобразования через правило RewriteRule, и в ссылке кусок "article.php?id=" совершенно не нужен, id вытаскивается из адреса в ходе преобразования.
А вот код главной страницы которая не работает (получен из браузера)
Осмелюсь предположить, что Вы скачали не движок, а какой-то хлам. Потому что такого мусора, что у Вас в браузере при выводе главной страницы, вообще быть не должно никогда. Советую посмотреть файл index.php на предмет наличия там внятного содержимого.
А зачем главные сайты делать на отдельной ЦМС, она ж меняться будет крайне редко, а грузиться страничка, если на HTML, будет наоборот быстрее? Или что-то упускаю?
Ну это у кого как. Если лёгкая CMS, то она загрузит стартовую страницу быстрее, чем Ваш лэндинг. И не у всех одностраничники - чаще удобнее делать несколько страниц, а там пойдут проблемы с общими для всех страниц элементами. Типа изменил меню - меняй на каждой странице. Да и на одностраничнике удобнее изменять конкретный материал, а не гонять туда-сюда всю страницу.
Этот плагин есть в Джумле, даже если это версия 1.0. Но в админке не работает в целях безопасности, если что.
И заодно сделайте, чтобы её можно было убирать - для тех, кто не хочет, чтобы ему позвонили. Раздражает это мельтешение.
Чисто как вариант, вообще "сносит" вопросительный знак
RewriteCond %{THE_REQUEST} \?И да, ещё: ?d=g;h=l - неверно, надо ?d=g&h=lRewriteRule ^[^/]*$ /? [R=301,L]