Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: mod rewrite

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
myocean
Отправлено: 23 Июля, 2012 - 19:47:13
Post Id


Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Здравствуйте!

Подскажите, есть файл .htaccess
где прописаны следующие строчки

RewriteEngine On

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

так вот при page = имени директории
скажем images

получаем вместо site.ru/images - > site.ru/?page=images

почему так, и как с этим бороться?
 
 Top
LIME
Отправлено: 23 Июля, 2012 - 19:54:12
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Цитата:
RewriteRule ^images/(.+) - [L]
RewriteRule ^([a-z]+)/?$ /index.php?page=$1
типа так
 
 Top
myocean
Отправлено: 23 Июля, 2012 - 19:58:09
Post Id


Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Спасибо, но не работает (
(Добавление)
причем site.ru/?page=images выдается только при site.ru/images,
при site.ru/images/ все работеат
 
 Top
LIME
Отправлено: 23 Июля, 2012 - 20:01:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




RewriteEngine On
не забыл?
(Добавление)
это регулярка только на выдачу картинки
надо картинку дописать иначе сработает следующее условие
 
 Top
myocean
Отправлено: 23 Июля, 2012 - 20:08:01
Post Id


Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




нет, не забыл

Options -Indexes

RewriteEngine On

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

===

http://site/images/?page=images
 
 Top
LIME
Отправлено: 23 Июля, 2012 - 20:11:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




сайт.ру/images/img1.jpg
иначе направит в индекс
спецом так сделано
нефиг в папку просто так лезть))
 
 Top
myocean
Отправлено: 23 Июля, 2012 - 20:16:24
Post Id


Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




ну смысл здесь немного другой...

индекс - фактически контроллер...
принимая page подгружает страницу с шаблона при наличии + контент с базы...
но беда в том что при условии совпадения page с именем директории, без слеша на конце, выдает обычный get запрос...
не страшно но как-то не красиво получается... + имея некоторое терпение можно получить структуру директорий, что минус к безопасности (
 
 Top
LIME
Отправлено: 23 Июля, 2012 - 20:19:44
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




тогда надо перечислить все директории по очереди куда можно заходить
RewriteRule ^dir_1/? - [L]
..............................
RewriteRule ^dir_n/? - [L]
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]
 
 Top
myocean
Отправлено: 23 Июля, 2012 - 20:20:02
Post Id


Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




myocean пишет:
ну смысл здесь немного другой...

индекс - фактически контроллер...
принимая page подгружает страницу с шаблона при наличии + контент с базы...
но беда в том что при условии совпадения page с именем директории, без слеша на конце, выдает обычный get запрос...
не страшно но как-то не красиво получается... + имея некоторое терпение можно получить структуру директорий, что минус к безопасности (


В идеале, хотелось бы игнорировать наличие директорий как таковых, за исключением админки )
(Добавление)
Ура... решил таким способом


Options -Indexes

ErrorDocument 404 /templates/404.php
ErrorDocument 403 /templates/403.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/?$ /index.php?page=$1 [L]

(Отредактировано автором: 23 Июля, 2012 - 20:52:33)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB