X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Start index.php
ZhukV
ZhukV
Topic Starter сообщение 12.3.2010, 15:41; Ответить: ZhukV
Сообщение #1


Доброго времени суток всем.
Возник вопрос:
Как сделать, чтоб при вводе любого текста в адресную строку, запускался только индекс, который находится в корне, но адресная строка оставалась.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
сообщение 12.3.2010, 15:48; Ответить: pomp
Сообщение #2


(ZhukV @ 12.3.2010, 17:41) *
запускался только индекс

Так можно

(ZhukV @ 12.3.2010, 17:41) *
но адресная строка оставалась

А так уже вряд ли:)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
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
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
ZhukV
Topic Starter сообщение 13.3.2010, 16:12; Ответить: ZhukV
Сообщение #5


(Zippovich @ 12.3.2010, 17:52) *
читай доку по mod_rewrite

Все таки прикольная вещь, спс. Но есть еще вопрос.
С ее помощью, модна заставить делать внутрене перенапрвление, а как? никак не могу вехать!!!!

Вот к примеру есть сайт http://mysite.ru/?page=notes&type=plus
Что именно нужно порписать, чтоб получился http://mysite.ru/notes/plus/ и чтоб запустился index.php в корне?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 13.3.2010, 22:26; Ответить: Zippovich
Сообщение #6


(ZhukV @ 13.3.2010, 18:12) *
Все таки прикольная вещь, спс. Но есть еще вопрос.
С ее помощью, модна заставить делать внутрене перенапрвление, а как? никак не могу вехать!!!!

Вот к примеру есть сайт http://mysite.ru/?page=notes&type=plus
Что именно нужно порписать, чтоб получился http://mysite.ru/notes/plus/ и чтоб запустился index.php в корне?


там несколько видов перенаправлений, для внутреннее не ставь [R] в конце, для внешнего, которое будет видно в адресной строке ставь [R]

все правила пишутся регулярками, почитай про регулярки, тоже очень полезная вещь
RewriteRule ^(.*)(.*)/ ?page=$1&type=$2
примерно так
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
Topic Starter сообщение 13.3.2010, 22:45; Ответить: ZhukV
Сообщение #7


Zippovich, спс огромное, но я уж нашел то, то нужно. Кстати очень легко.

(Zippovich @ 14.3.2010, 00:26) *
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
Zippovich
сообщение 13.3.2010, 22:50; Ответить: Zippovich
Сообщение #8


(ZhukV @ 14.3.2010, 00:45) *
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
ZhukV
Topic Starter сообщение 13.3.2010, 23:13; Ответить: ZhukV
Сообщение #9


(pomp @ 12.3.2010, 17:48) *
Сообщение от ZhukV


но адресная строка оставалась




А так уже вряд ли

МОЖНА, при помощи .htaccess и RewriteRule

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3293 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1171 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44767 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


 



RSS Текстовая версия Сейчас: 29.3.2024, 11:53
Дизайн