Проблемка с htaccess, помогите пожалуйста.

1 234
denntl
На сайте с 14.10.2007
Offline
112
#31
alexspb:
Значит перед каждым правилом надо условие прописать
Может лучше:
RewriteCond %{REQUEST_URI} !\.html$

Я не вижу структуру вашего сайта, у вас файлы? из базы формируется? до движка все было на .html, а к движоку с какими урлами обращаетесь (расширение?), если php то условие выше перед каждым правилом должно помочь

Или решение andreydust должно помочь, если файлы сайта html и лежат на сервере

Двиг тоже формирует html

DyaDya
На сайте с 11.04.2007
Offline
147
#32

Нужно перед вот этой строкой добавить условие, чтобы именно на index.html не было срабатывания!


RewriteRule ^([^/]+)$ index.php?page=$1

Будет примерно вот так:


RewriteCond %{REQUEST_URI} !^index\.html$ #вот это нужно уточнить, но смысл передал.
RewriteRule ^([^/]+)$ index.php?page=$1
Выбирайте качественный хостинг (http://vashmaster.ru/informaciya/o_poleznyh_programmah/news83.php) и продвигайте сайты в СЕОПУЛЬТ (http://seopult.ru/ref.php?ref=72b5ed9561fe66a1). А на «SAPE» я в обиде :) Не упрекайте за очепятки, пишу вслепую (http://ergosolo.ru/) и также делаю сайты (http://www.vashmaster.ru/) ;)
semenov
На сайте с 28.10.2005
Offline
257
#33

Там и другие хтмэльки есть

alexspb
На сайте с 14.11.2005
Offline
187
#34

denntl,

denntl:
Двиг тоже формирует html

Я думаю, вы усложняете все.

Кто вам мешает формировать УРЛ, который будет обрабатываться прикручиваемым движком, с раширением .htm .php .php3 хотя бы ради того, чтобы оличать одно от другого и спокойно прописать в штаксес условие

RewriteCond %{REQUEST_URI} !\.html$

Поскольку вы вставляет хтмл куски пхп, который при этом не обрабатывается, то и в остальном вы городите огород скорее всего.

Либо придумайте префикс файлам. которые будут обрабатываться движком (/prefix/file)

denntl
На сайте с 14.10.2007
Offline
112
#35
alexspb:
denntl,
Я думаю, вы усложняете все.

Кто вам мешает формировать УРЛ, который будет обрабатываться прикручиваемым движком, с раширением .htm .php .php3 хотя бы ради того, чтобы оличать одно от другого и спокойно прописать в штаксес условие

Вот сейчас это и пытаюсь настроить..

alexspb:

Поскольку вы вставляет хтмл куски пхп, который при этом не обрабатывается, то и в остальном вы городите огород скорее всего.

Обработку еще не вписывал, как закончу настройку сразу впишу.

DyaDya
На сайте с 11.04.2007
Offline
147
#36

В общем проверил, получается пока вот так:


DirectoryIndex index.html

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(images|css|js|files)\/(.*)$ $1/$2 [L]
RewriteRule ^index.php$ index.php [L]

RewriteCond %{REQUEST_URI} !/index\.html$#при запросе site.ru/index.html перенаправления нет! проверено!
RewriteRule ^([^/]+)$ index.php?page=$1

RewriteRule ^([^/]+)\/$ index.php?mod=$1 [L]
RewriteRule ^([^/]+)\/([^/]+)$ index.php?mod=$1&page=$2
RewriteRule ^([^/]+)\/(.*)\/$ index.php?mod=$1&cat=$2
RewriteRule ^([^/]+)\/(.*)\/([^/]+)$ index.php?mod=$1&cat=$2&page=$3

При это другие хтмлки, конечно же, будут обрабатываться согласно правилам. Только вот, если во вложенных папках есть index.html, то на них тоже не будет правило срабатывать. Не знаю, нужно ли вам так? Если нет, то нужно будет скорректировать Условие

RewriteCond %{REQUEST_URI} !/index\.html$

так, чтобы следующее правило не срабатывало только на запрос site.ru/index.html, но срабатывало на запросы типа site.ru/папка/index.html и т.п.

denntl
На сайте с 14.10.2007
Offline
112
#37
Все, проблема исчерпалась ! 🍻🍻🍻

Всем огромное спасибо за ПОМОЩЬ !

З.Ы. Нашел как в двиге изменить расширение генерируемых страниц на .php

alexspb
На сайте с 14.11.2005
Offline
187
#38

Народ, не нужно такое количество условий и лазить в штаксес не надо,

я решаю так

RewriteCond %{REQUEST_URI} !^/(dvijok.php|admin/|img/|css/)

RewriteCond %{REQUEST_URI} !\.(js|css|txt|jpg|jpeg|gif|swf|png)$
RewriteRule ^. dvijok.php [NC]

т.е. исключаем условием папки и расширения, которые не должны обрабатываться движком, а все остальное средствами пхп

1 234

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