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 :: Про ЧПУ и не только.. [2]

 PHP.SU

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


 Страниц (9): « 1 [2] 3 4 5 6 7 8 9 »   

> Описание: Малюсенькая статейка.
DeepVarvar Супермодератор
Отправлено: 12 Августа, 2011 - 15:06:15
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




CODE (html):
скопировать код в буфер обмена
  1. <? header("HTTP/1.0 404 Not Found"); ?>
  2. <h1>404 - not found</h1>

(Добавление)
new01 пишет:
Путь от корня писать как-то мне не нравится

Нравится, не нравится.... (продолжение все знают) Радость
 
 Top
new01
Отправлено: 12 Августа, 2011 - 15:28:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


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




DeepVarvar пишет:
<? header("HTTP/1.0 404 Not Found"); ?>
<h1>404 - not found</h1>

Нет надо сделать в .htaccess перенаправление на страницу 404, если файл является php файлом.Как это можно сделать?


-----
new01
 
 Top
DeepVarvar Супермодератор
Отправлено: 12 Августа, 2011 - 18:48:00
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




new01 пишет:
Как это можно сделать?
Зачем?
 
 Top
new01
Отправлено: 13 Августа, 2011 - 15:28:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


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




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


-----
new01
 
 Top
DeepVarvar Супермодератор
Отправлено: 14 Августа, 2011 - 08:09:51
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




new01 пишет:
если файл является php файлом
И index.php тоже??? Радость
 
 Top
Мелкий Супермодератор
Отправлено: 14 Августа, 2011 - 11:22:30
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




new01 пишет:
если у двух страниц контент одинаковый, то их склеивает и индексирует только одну по его выбору.

robots.txt
Disallow: /index.php*
Если не ошибаюсь, работает.

Ну и вариант насовсем:
при разборе GET'а заодно смотрим запрошенный урл в $_SERVER, если приехал не чпушный - 301 редирект куда надо.


-----
PostgreSQL DBA
 
 Top
new01
Отправлено: 14 Августа, 2011 - 16:02:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


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




самое простое сделать редирект на страницу с ошибкой 404. !
(Добавление)
поисковик может не испольнять робот.тиэксти


-----
new01
 
 Top
Мелкий Супермодератор
Отправлено: 14 Августа, 2011 - 16:34:44
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




new01 пишет:
поисковик может не испольнять робот.тиэксти

А для ранжирования результатов поиска - должен. В обратном случае - пишите в саппорт этого поисковика.


-----
PostgreSQL DBA
 
 Top
White
Отправлено: 14 Августа, 2011 - 17:48:58
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


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




new01 некоторые "особо продвинутые" поисковики могут игнорировать <noindex>, но про игнор robots.txt слышу впервые.


-----
if(time()>1356048000) die();
 
 Top
new01
Отправлено: 18 Августа, 2011 - 19:20:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


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




Whiteхм. Да так и есть. робот.txt поисковик не обязан выполнять - это всего лишь простые рекомендации.


-----
new01
 
 Top
DeepVarvar Супермодератор
Отправлено: 18 Августа, 2011 - 19:27:58
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




new01 пишет:
робот.txt
эту хрень придумали сами поисковики.
Сами себе и придумали.
Никто его не игнорит.
 
 Top
snikers987
Отправлено: 26 Октября, 2011 - 08:54:26
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




new01 пишет:

Надо сделать так. При вводе reg.php посылать пользователя на страницу с ошибкой 404, где написано "Такой страницы не существует". Как можно это сделать?


Определяй в index.php константу, в остальных файлах проверяй определена ли она, если фаил запущен не через единую точку входа- константа не определена, и делай что тебе надо.


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Estenny
Отправлено: 14 Ноября, 2011 - 22:29:55
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011  
Откуда: Москва


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




Что-то я вообще ничего не понял.
Итак, что у меня имеется: файл .httaccess, который помещен в корень сайта. Дальше имеется файл index.php и reg.php.

Что я делаю — сначала я помещаю в .httaccess код.
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. RewriteBase /
  3. RewriteCond %{REQUEST_FILENAME} !-d #не папка
  4. RewriteCond %{REQUEST_FILENAME} !-f #не файл
  5. RewriteRule ^(.*) index.php?q=$1 [L]

Без всяких решеток, да?
Итого теперь мой файл такой:
CODE (htmlphp):
скопировать код в буфер обмена
  1. # dnwr_ip   127.0.0.2
  2. # dnwr_host custom-host
  3. # dnwr_port 8648
  4.  
  5. RewriteEngine on
  6. RewriteCond %{REQUEST_FILENAME} !-f
  7. RewriteCond %{REQUEST_FILENAME} !-d
  8. RewriteRule ^(.*)$ index.php [L,QSA]


В reg.php у меня просто что-то записано.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         echo 'It`s reg.php!';
  3. ?>


А вот в index.php я помещаю Ваш код и у меня получается как-то так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         // вот тут будут наши "части"
  3.         $params = array();
  4.          
  5.         // получили строку
  6.         $query_string = str_replace("q=","",trim($_SERVER['QUERY_STRING']));
  7.          
  8.         // на всякий случай декодируем
  9.         $query_string = urldecode($query_string);
  10.          
  11.         // разбиваем на массив
  12.         $query_params = explode("/",$query_string);
  13.          
  14.         // и проверяем
  15.         // а вдруг в конец слеш не дописали?
  16.         // да и почистим сразу от SQL-инъекций
  17.         foreach ($query_params as $query_param)
  18.           if ($query_param != "")
  19.                 $params[] = mysql_real_escape_string($query_param);
  20.          
  21.         // посмотрим что получилось
  22.         var_dump($params);
  23. ?>

Получается, теперь на запрос site.ru/reg меня должно переносить на страницу reg.php и выводить It`s reg.php!? Не-а, выдает ошибку.

Что я не так сделал?

P.S. если я перехожу на index.php, то вижу надпись array(0) { }, а если на site.ru/reg, то ошибку от Denwer`а.

(Отредактировано автором: 14 Ноября, 2011 - 22:32:47)

 
 Top
sKaa
Отправлено: 14 Ноября, 2011 - 22:57:22
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Проверь в файле настрое Apache (httpd.conf) включен ли модуль mod_rewrite.
LoadModule rewrite_module modules/mod_rewrite.so
Estenny пишет:
Получается, теперь на запрос site.ru/reg меня должно переносить на страницу reg.php и выводить It`s reg.php!? Не-а, выдает ошибку.

Нет. Index.php у тебя теперь единая точка входа. Т.е все запросы site.ru/ будут переадрисовываться на index.php и твой запрос site.ru/reg будет поправде выглядеть в данном случае как site.ru/index.php?reg
 
 Top
Estenny
Отправлено: 14 Ноября, 2011 - 23:04:48
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011  
Откуда: Москва


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




sKaa пишет:
Проверь в файле настрое Apache (httpd.conf) включен ли модуль mod_rewrite.
LoadModule rewrite_module modules/mod_rewrite.so

Есть там такая строчка.

sKaa пишет:
site.ru/index.php?reg

Но в том то и дело, что мне надо, чтобы выглядело как site.ru/reg.php!
 
 Top
Страниц (9): « 1 [2] 3 4 5 6 7 8 9 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Обсуждение статей »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB