www.mysite.ru/XXXXXX
Сейчас сделано так
RewriteRule ^([0-9A-Za-z]+)$ /index.php?url=$1
там только буквы и цифры, попозже сам добавлю знаки прочие, а потом буду проверять по базе URL и дальше генерировать скрипт нужным образом.
Спустя 4 минуты, 13 секунд (5.07.2011 - 10:19) ИНСИ написал(а):
maximka787 а что именно тебе подсказать? Ты вроде сам все уже сделал
Спустя 2 минуты, 33 секунды (5.07.2011 - 10:22) maximka787 написал(а):
INSIDIOUS
ну да, а я как-то видел, что используют по-другому правила, что-то типа:
RewriteRule ^.$
RewriteRule ^{}$
не помню точно, и найти не могу, но знаю, что конструкция может быть тут очень простая, а в моем примере я просто пишу все правила.
ну да, а я как-то видел, что используют по-другому правила, что-то типа:
RewriteRule ^.$
RewriteRule ^{}$
не помню точно, и найти не могу, но знаю, что конструкция может быть тут очень простая, а в моем примере я просто пишу все правила.
Спустя 3 минуты, 18 секунд (5.07.2011 - 10:25) Metatron написал(а):
code-igniter использует что-то типа ^(.+)$ index.php/$1 [L]
а лишние символы уже в скриптах убираются
а лишние символы уже в скриптах убираются
Спустя 1 час, 48 минут, 9 секунд (5.07.2011 - 12:13) maximka787 написал(а):
Что-то я сегодня чайник, Помогите ребят добавить в УРЛ слэш и точку
RewriteRule ^([0-9A-Za-z_-]+)$ /index.php?url=$1
RewriteRule ^([0-9A-Za-z_-]+)$ /index.php?url=$1
Спустя 1 минута, 39 секунд (5.07.2011 - 12:15) DySprozin написал(а):
maximka787
экранируем, товарищ, экранируем (;
\.
\\
\/
экранируем, товарищ, экранируем (;
\.
\\
\/
Спустя 3 минуты, 10 секунд (5.07.2011 - 12:18) maximka787 написал(а):
DySprozin
Вообще ошибка 500
Вообще ошибка 500
RewriteRule ^([0-9A-Za-z_\.\\]+)$ /index.php?url=$1
Спустя 2 минуты, 58 секунд (5.07.2011 - 12:21) DySprozin написал(а):
maximka787
смотри error_log - синтаксис верный (только что проверил), возможно бесконечное перенаправление, как тут
смотри error_log - синтаксис верный (только что проверил), возможно бесконечное перенаправление, как тут
Спустя 12 минут, 30 секунд (5.07.2011 - 12:34) maximka787 написал(а):
Вот весь файл
а в скрипте index.php только print_r($_GET);
php_flag display_errors on
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
## error 500
##RewriteRule ^([0-9A-Za-z_\.\\]+)$ /index.php?url=$1
## error 500
RewriteRule ^([0-9a-zA-Z._\-]+)$ /index.php?url=$1
ТУТ ВСЕ НОРМАЛЬНО, НО ТОЧКУ НЕ МОГУ ПОСТАВИТЬ
## тут все отлино, но сайт выводит столько раз сколько include
##RewriteRule ^(.*)$ index.php?ur=$1 [L,QSA]
а в скрипте index.php только print_r($_GET);
Спустя 33 минуты, 11 секунд (5.07.2011 - 13:07) maximka787 написал(а):
Ребят, решил использовать
RewriteRule ^(.*)$ index.php?fullurl=$1 [L,QSA]
это вообще то что надо. но теперь проблема, не открываются файлы например
http://localhost/style.css
http://localhost/ и тд
ни один файл не открывается вообще, что это за такая проблема-то?
RewriteRule ^(.*)$ index.php?fullurl=$1 [L,QSA]
это вообще то что надо. но теперь проблема, не открываются файлы например
http://localhost/style.css
http://localhost/ и тд
ни один файл не открывается вообще, что это за такая проблема-то?
Спустя 4 минуты, 47 секунд (5.07.2011 - 13:12) DySprozin написал(а):
maximka787
я же тебе уже давал совет (;
я же тебе уже давал совет (;
RewriteEngine on
RewriteCond %{QUERY_STRING} =""
RewriteRule ^([0-9A-Za-z_\.\\]+)$ /index.php?url=$1
Цитата ( http://phpforum.ru/index.php?showtopic=471...=0#entry1234007 ) |
но это не спасет, если кто-то наберет http://site.ru/index.php?z=bla-bla-bla т.е. надо это уже будет как-то на уровне пхп учесть, например: if (!preg_match('#^kat=0&url=.*$#isU', $_SERVER['QUERY_STRING'])) { |
Спустя 2 минуты, 19 секунд (5.07.2011 - 13:14) DySprozin написал(а):
в твоем случае это в php надо учесть так:
if (!preg_match('#^url=.*$#isU', $_SERVER['QUERY_STRING'])) {
Header('Location: /index.php');
exit();
}
Спустя 1 минута, 41 секунда (5.07.2011 - 13:16) maximka787 написал(а):
DySprozin
Хороший пример. Ладно буду пробовать. Проблема не пойму из-за include
в футере стоит include , после него он сайт выводит пока я не остановлю, по нескольку раз.
Хороший пример. Ладно буду пробовать. Проблема не пойму из-за include
в футере стоит include , после него он сайт выводит пока я не остановлю, по нескольку раз.
Спустя 5 минут, 54 секунды (5.07.2011 - 13:21) DySprozin написал(а):
maximka787
RewriteEngine on
RewriteCond %{QUERY_STRING} =""
RewriteRule ^(.*)$ /index.php?url=$1
if (!preg_match('#^url=.*$#isU', $_SERVER['QUERY_STRING'])) {
Header('Location: /index.php');
exit();
}
Спустя 2 часа, 1 минута, 15 секунд (5.07.2011 - 15:23) maximka787 написал(а):
Неее, все перепробовал. Все перечитал. как буд-то у меня у одного дебила такое.
Нельзя делать как писалDySprozin хотя и вариант верный, но у меня сайт не с нуля, и там есть свои проблемы.
Подскажите кто знает откуда такая ошибка 500
Нельзя делать как писалDySprozin хотя и вариант верный, но у меня сайт не с нуля, и там есть свои проблемы.
Подскажите кто знает откуда такая ошибка 500
Цитата |
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. |
Вот это выражение дает
RewriteRule ^([0-9a-zA-Z/.+]+)$ /index.php?url=$1
Убираю точку из него и все великолепно работает. Но мне надо с точкой обызательно. Причем в скриптах самих нет проблем.
тк у меня url
contacts/
magazin/
magazin/20.php
Спустя 4 минуты, 51 секунда (5.07.2011 - 15:28) DySprozin написал(а):
и чем тебя вариант не устраивает?
;;ошибка 500
*терпеливо* ну я же говорю тебе: когда ты ставишь точку, то у тебя получается бесконечное перенаправление...
вот было у тебя:
www.mysite.ru/XXXXXX.yy - тут есть точка
стало:
www.mysite.ru/index.php?url=XXXXXX.yy - в index.php есть точка
RewriteEngine on
RewriteCond %{QUERY_STRING} =""
;;ошибка 500
*терпеливо* ну я же говорю тебе: когда ты ставишь точку, то у тебя получается бесконечное перенаправление...
вот было у тебя:
www.mysite.ru/XXXXXX.yy - тут есть точка
стало:
www.mysite.ru/index.php?url=XXXXXX.yy - в index.php есть точка
идем дальше:
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
стало:
www.mysite.ru/index.php?url=index.php - в index.php есть точка
Спустя 8 минут, 46 секунд (5.07.2011 - 15:36) maximka787 написал(а):
DySprozin
ну я повешусь наверно.
смысл в чем. мне надо получить вообще все что попадает после .ru
твой пример супер, проблема в том, что когда я задаю реальную папку внутри сайта то он выдает тот же index, а мне надо чтоб попадал туда.
ну я повешусь наверно.
смысл в чем. мне надо получить вообще все что попадает после .ru
твой пример супер, проблема в том, что когда я задаю реальную папку внутри сайта то он выдает тот же index, а мне надо чтоб попадал туда.
Спустя 2 минуты, 25 секунд (5.07.2011 - 15:39) DySprozin написал(а):
maximka787
то есть тебе нужно не корневой индекс брать, а индекс данной папки?
то есть тебе нужно не корневой индекс брать, а индекс данной папки?
Спустя 3 минуты, 28 секунд (5.07.2011 - 15:42) maximka787 написал(а):
DySprozin
мне надо чтобы если папка существует то попадал в нее и дальше как пойдет само, если нет то индекс вызывает.
внутри папки тоже есть индекс свой в стиле DirectoryIndex index.php и больше ничего, это не играет роли в моем примере.
Например у меня RewriteRule ^myfolder/$ /index.php?kat=myfolder попадает сначала в директорию, а если ее нет то на index.php
мне надо чтобы если папка существует то попадал в нее и дальше как пойдет само, если нет то индекс вызывает.
внутри папки тоже есть индекс свой в стиле DirectoryIndex index.php и больше ничего, это не играет роли в моем примере.
Например у меня RewriteRule ^myfolder/$ /index.php?kat=myfolder попадает сначала в директорию, а если ее нет то на index.php
Спустя 3 минуты, 42 секунды (5.07.2011 - 15:46) DySprozin написал(а):
maximka787
хм... а если папка есть, но файла в папке нет?
хм... а если папка есть, но файла в папке нет?
Спустя 1 минута, 15 секунд (5.07.2011 - 15:47) maximka787 написал(а):
DySprozin
да будет файл там)) это вообще второстепенное) главное чтобы папку отличил от url
да будет файл там)) это вообще второстепенное) главное чтобы папку отличил от url
Спустя 11 минут, 55 секунд (5.07.2011 - 15:59) DySprozin написал(а):
maximka787
так?
так?
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1
Спустя 7 минут, 47 секунд (5.07.2011 - 16:07) maximka787 написал(а):
DySprozin
УРАААА))) вот то, что надо, спасибо большое, я то эту запись тящу раз видел сегодня и думал что она относится к файлам каким-то)
УРАААА))) вот то, что надо, спасибо большое, я то эту запись тящу раз видел сегодня и думал что она относится к файлам каким-то)
Спустя 1 минута, 40 секунд (5.07.2011 - 16:09) DySprozin написал(а):
maximka787
да наздоровье (;
да наздоровье (;
_____________
..Работает - не трогай!