Помощник
|
Start index.php |
ZhukV
|
Сообщение
#1
|
||
|
|
||
|
|||
pomp |
12.3.2010, 15:48;
Ответить: pomp
Сообщение
#2
|
|
|
|
|
Zippovich |
12.3.2010, 15:52;
Ответить: Zippovich
Сообщение
#3
|
|
1. включи mod_rewrite
2. в .htaccess пропиши перенаправление на index.php 3. в index.php парси адресную строку и выводи что тебе надо читай доку по mod_rewrite P.S.: да и не забудь, что перенаправление тебе надо делать только для php, html файлов, никак не для картинок, js и css |
|
|
iamnod |
13.3.2010, 11:56;
Ответить: iamnod
Сообщение
#4
|
|
Например так. --- .htaccess
[PHP] RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?route=$1 [L,QSA] [/PHP] |
|
|
ZhukV
|
Сообщение
#5
|
|
читай доку по mod_rewrite Все таки прикольная вещь, спс. Но есть еще вопрос. С ее помощью, модна заставить делать внутрене перенапрвление, а как? никак не могу вехать!!!! Вот к примеру есть сайт http://mysite.ru/?page=notes&type=plus Что именно нужно порписать, чтоб получился http://mysite.ru/notes/plus/ и чтоб запустился index.php в корне? |
|
|
Zippovich |
13.3.2010, 22:26;
Ответить: Zippovich
Сообщение
#6
|
|
Все таки прикольная вещь, спс. Но есть еще вопрос. С ее помощью, модна заставить делать внутрене перенапрвление, а как? никак не могу вехать!!!! Вот к примеру есть сайт http://mysite.ru/?page=notes&type=plus Что именно нужно порписать, чтоб получился http://mysite.ru/notes/plus/ и чтоб запустился index.php в корне? там несколько видов перенаправлений, для внутреннее не ставь [R] в конце, для внешнего, которое будет видно в адресной строке ставь [R] все правила пишутся регулярками, почитай про регулярки, тоже очень полезная вещь RewriteRule ^(.*)(.*)/ ?page=$1&type=$2 примерно так |
|
|
ZhukV
|
Сообщение
#7
|
|
Zippovich, спс огромное, но я уж нашел то, то нужно. Кстати очень легко.
RewriteRule ^(.*)(.*)/ ?page=$1&type=$2 А вот здесь есть очень много приколов: если второй не задан, тоесть типа http://site.ru/qw/, то сразу 500 ошибка!!!! Тоесть если указыватьв .htaccess полное выражение, нужно, чтоб оно точно было!!! Возмодно с этим я немного не прав, но на денвере ОНО ТАК И ЕСТЬ У меня вариант таков: В .htaccess: RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] Тоесть нет разницы как задано в адр. строке (если что есть после "домена"), все летит в переменную $page. А на пхп всю переменную обрабатываю так, как мне нужно. Типа такого: [PHP]function CreatePageType($name='page'){ $ires=explode('/',$_GET[$name]); $TA=array('Page','Type','SType'); $KeysArray=array(); $ValueArray=array(); for($i=0;$i<count($ires);$i++){ if(!$ires[$i])break; $ex=explode('.',$ires[$i]); if($ex[1]){ array_push($KeysArray,'File'); array_push($ValueArray,$ex[0]); }else{ if($i<3){ array_push($KeysArray,$TA[$i]); array_push($ValueArray,$ires[$i]); } else{ $TI++; array_push($KeysArray,$TA[2].'_'.$TI); array_push($ValueArray,$ires[$i]); } } } return @array_combine($KeysArray,$ValueArray); }[/PHP] Проблем нет никаких. ЧПУ ссылки получаются то что надо. А кстати, вот и фун., какая создает их: [PHP]function CreateHrefA($href,$shref=''){ $type=_CHPU; if($type='CHPU')return _DOMEN.'?'.$href.'&'.$shref; $ires=explode('&',$href); for($i=0;$i<count($ires);$i++){ $ex=explode('.',$ires[$i]); if($exf[1]){ $result.=$ires[$i]; }else{ $ex=explode('=',$ires[$i]); $result.='/'.$ex[1]; } } if($shref)$result.='/?'.$shref; return _DOMEN.$result; }[/PHP] |
|
|
Zippovich |
13.3.2010, 22:50;
Ответить: Zippovich
Сообщение
#8
|
|
Zippovich, спс огромное, но я уж нашел то, то нужно. Кстати очень легко. А вот здесь есть очень много приколов: если второй не задан, тоесть типа http://site.ru/qw/, то сразу 500 ошибка!!!! Тоесть если указыватьв .htaccess полное выражение, нужно, чтоб оно точно было!!! Возмодно с этим я немного не прав, но на денвере ОНО ТАК И ЕСТЬ У меня вариант таков: В .htaccess: RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] Тоесть нет разницы как задано в адр. строке (если что есть после "домена"), все летит в переменную $page.А на пхп всю переменную обрабатываю так, как мне нужно. Типа такого: [php]function CreatePageType($name='page'){ $ires=explode('/',$_GET[$name]); $TA=array('Page','Type','SType'); $KeysArray=array(); $ValueArray=array(); for($i=0;$i<count($ires);$i++){ if(!$ires[$i])break; $ex=explode('.',$ires[$i]); if($ex[1]){ array_push($KeysArray,'File'); array_push($ValueArray,$ex[0]); }else{ if($i<3){ array_push($KeysArray,$TA[$i]); array_push($ValueArray,$ires[$i]); } else{ $TI++; array_push($KeysArray,$TA[2].'_'.$TI); array_push($ValueArray,$ires[$i]); } } } return @array_combine($KeysArray,$ValueArray); }[/php]Проблем нет никаких. ЧПУ ссылки получаются то что надо. А кстати, вот и фун., какая создает их: [php]function CreateHrefA($href,$shref=''){ $type=_CHPU; if($type='CHPU')return _DOMEN.'?'.$href.'&'.$shref; $ires=explode('&',$href); for($i=0;$i<count($ires);$i++){ $ex=explode('.',$ires[$i]); if($exf[1]){ $result.=$ires[$i]; }else{ $ex=explode('=',$ires[$i]); $result.='/'.$ex[1]; } } if($shref)$result.='/?'.$shref; return _DOMEN.$result; }[/php] да, я тут тоже не копенгаген, надо тоже доки читать |
|
|
ZhukV
|
Сообщение
#9
|
|
|
Сообщение от ZhukV но адресная строка оставалась А так уже вряд ли МОЖНА, при помощи .htaccess и RewriteRule
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое | 5 | CULA | 3294 | 19.12.2023, 18:55 автор: CULA |
|
Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery Разработка сайтов и сервисов под-ключ |
0 | alexey | 1172 | 24.11.2023, 14:46 автор: alexey |
|
Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP) | 56 | qpPeW | 44768 | 19.7.2023, 10:03 автор: qpPeW |
|
Есть спецы по php/laravel? | 3 | Mixatraider | 1856 | 26.5.2023, 20:48 автор: Mixatraider |
|
Опытный PHP\Python разработчик в поиске интересных задач | 6 | daikzlex | 3361 | 25.5.2023, 13:55 автор: daikzlex |
Текстовая версия | Сейчас: 29.3.2024, 16:05 |