Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Заменить раширение php на html в Битриксе

Автор ewdokimow, 04-03-2013, 18:19:11

« назад - далее »

Вебнет

Цитата: parmactep от 22-03-2013, 11:56:02
Уважаемый... Открою маленький секрет... Я уже более восьми лет пробую подобные вещи на реальных проектах... ;) Многие люди говорят что весьма успешно)))
RewriteBase является обязательным хотя бы потому что имеет значение по-умолчанию зависящее от настроек сервера.
И вредным на самом деле может быть только его отсутствие...
Как вы там говорили? Погуглите, мануалы почитайте..... Тогда ваш опыт+эксперемент подкрепится еще и знаниями внутренних механизмов используемых вами технологий....
Круто, а я уже 9 лет занимаюсь разработкой :) и не кичусь этим кстати.

Разговаривать бесполезно, тут не место для споров между нами, предложите свое решение, а люди уже сами выберут, что им больше подходит.
Я не писал, что ваше решение в комплексе не верное и отсутствие RewriteBase это хорошо, все зависит от конкретных настроек сервера и минуточку мнения всего сообщества разработчиков CMS (повторю: файл стандартный не мною придуманный).
Но то что вы просто бросили в самом начале кусок RewriteRule ^(.*)\.php$ $1.html [R=301,L] не разобравшись,а  почему у других он не работает, это ваш косяк.

Что вам мешало просто написать
RewriteBase /
RewriteRule ^(.*)\.php$ $1.html [R=301,L]

и пару слов в описание? И никаких споров.
нет нужно помериться пи.. :)

Вопрос считаю закрытым, поскольку наш коллега ewdokimow уже получил ответы по интересующей его теме. А мне надо работать :).
  •  


ewdokimowTopic starter

Цитата: Вебнет от 22-03-2013, 12:22:42
RewriteBase /
RewriteRule ^(.*)\.php$ $1.html [R=301,L]



Попробовал, вот получается:
Андрей
  •  


Вебнет

Цитата: ewdokimow от 22-03-2013, 12:49:51
Попробовал, вот получается:

Попробуйте полную вставку:

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteBase /
#  RewriteCond %{REQUEST_FILENAME} !-f
#  RewriteCond %{REQUEST_FILENAME} !-l
# RewriteCond %{REQUEST_FILENAME} !-d
#  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
#  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
#  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
  RewriteRule ^(.*)\.php$ $1.html [R=301,L]
</IfModule>

тут закомичены строки # ответственные за ЧПУ.
Но мы уже с вами пробовали все это, для битрикса, что   RewriteBase / + RewriteRule ^(.*)\.php$ $1.html [R=301,L], что просто RewriteRule ^(.*)\.php$ /$1.html [R=301,L] не варианты.
  •  

parmactep

Цитата: Вебнет от 22-03-2013, 12:22:42и не кичусь этим кстати.
Как раз так и называется то чем вы в теме занимаетесь уважаемый "более опытный товарищь"... Вы всю дорогу пытаетесь меня ткнуть куда-то.... За 9 лет могли бы знать что ^ - это не слеш..... Ну да ладно....
Цитата: Вебнет от 22-03-2013, 12:22:42тут не место для споров между нами
Отнюдь... Помоему самое подходящее место... ТС уже говорил о том что много полезного для себя из нашей с вам беседы вынес...
Да и думаю не только ТС...
Цитата: Вебнет от 22-03-2013, 12:22:42Что вам мешало просто написать
Ничего не мешало... А еще я мог бы
<IfModule mod_rewrite.c>
</IfModule>

написать и много чего другого....
А потом лицезреть файл вида
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\.wo[0-9]+\.(css|php)$ $1.$2
RewriteRule ^(.*)\.wo[0-9]+\.(js|php)$ $1.$2
RewriteRule ^(.*)\.wo[0-9]+\.(jpe?g|png)$ $1.$2
</IfModule>
RewriteBase /
RewriteRule ^(.*)\.php$ $1.html [R=301,L]
  •  

Вебнет

Цитата: parmactep от 22-03-2013, 16:50:34
Как раз так и называется то чем вы в теме занимаетесь уважаемый "более опытный товарищь"... Вы всю дорогу пытаетесь меня ткнуть куда-то.... За 9 лет могли бы знать что ^ - это не слеш..... Ну да ладно....Отнюдь... Помоему самое подходящее место... ТС уже говорил о том что много полезного для себя из нашей с вам беседы вынес...
Да и думаю не только ТС...Ничего не мешало... А еще я мог бы
<IfModule mod_rewrite.c>
</IfModule>

написать и много чего другого....
А потом лицезреть файл вида
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\.wo[0-9]+\.(css|php)$ $1.$2
RewriteRule ^(.*)\.wo[0-9]+\.(js|php)$ $1.$2
RewriteRule ^(.*)\.wo[0-9]+\.(jpe?g|png)$ $1.$2
</IfModule>
RewriteBase /
RewriteRule ^(.*)\.php$ $1.html [R=301,L]


Без комментариев. Не потому, что нечего сказать, не вижу смысла.
  •  


ewdokimowTopic starter

Друзья, тут Битрикс на это ругается:

Может сталкивались?
Андрей
  •  

Вебнет

Цитата: ewdokimow от 22-03-2013, 19:41:49
Друзья, тут Битрикс на это ругается:

Может сталкивались?

По расположению файла это самописный компонет. И там предполагаю идет подключение к базе, фактически второе.
Ман по функциям http://dev.1c-bitrix.ru/api_help/
Класс для работы с базой http://dev.1c-bitrix.ru/api_help/main/reference/cdatabase/index.php

И обязательно прописывайте в начала компонента global $DB;
Поскольку глобальный объект $DB класса CDatabase инициализируется в самом начале генерации страницы, и в компонентах он уже доступен, то самостоятельно коннектиться к базе нет необходимости.

К приемеру запрос SELECT:

$strSql = "SELECT * FROM webnet_test WHERE ACTIVE='Y'"; // любой запрос, в принципе и INSERT и UPDATE и DELITE можно, но лучше использовать другие спечиальне функции
$res = $DB->Query($strSql, false, $err_mess.__LINE__);
while($ares = $res->Fetch()) {
print_r($ares); // массив результата выборки
}

  •  



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....