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
Форумы портала PHP.SU :: Версия для печати :: Про ЧПУ и не только.. [2]
Форумы портала PHP.SU » Разное » Обсуждение статей » Про ЧПУ и не только..

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

16. DeepVarvar - 12 Августа, 2011 - 15:06:15 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <? header("HTTP/1.0 404 Not Found"); ?>
  2. <h1>404 - not found</h1>

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

Нравится, не нравится.... (продолжение все знают) Радость
17. new01 - 12 Августа, 2011 - 15:28:53 - перейти к сообщению
DeepVarvar пишет:
<? header("HTTP/1.0 404 Not Found"); ?>
<h1>404 - not found</h1>

Нет надо сделать в .htaccess перенаправление на страницу 404, если файл является php файлом.Как это можно сделать?
18. DeepVarvar - 12 Августа, 2011 - 18:48:00 - перейти к сообщению
new01 пишет:
Как это можно сделать?
Зачем?
19. new01 - 13 Августа, 2011 - 15:28:15 - перейти к сообщению
это для поисковиков. если у двух страниц контент одинаковый, то их склеивает и индексирует только одну по его выбору.
20. DeepVarvar - 14 Августа, 2011 - 08:09:51 - перейти к сообщению
new01 пишет:
если файл является php файлом
И index.php тоже??? Радость
21. Мелкий - 14 Августа, 2011 - 11:22:30 - перейти к сообщению
new01 пишет:
если у двух страниц контент одинаковый, то их склеивает и индексирует только одну по его выбору.

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

Ну и вариант насовсем:
при разборе GET'а заодно смотрим запрошенный урл в $_SERVER, если приехал не чпушный - 301 редирект куда надо.
22. new01 - 14 Августа, 2011 - 16:02:34 - перейти к сообщению
самое простое сделать редирект на страницу с ошибкой 404. !
(Добавление)
поисковик может не испольнять робот.тиэксти
23. Мелкий - 14 Августа, 2011 - 16:34:44 - перейти к сообщению
new01 пишет:
поисковик может не испольнять робот.тиэксти

А для ранжирования результатов поиска - должен. В обратном случае - пишите в саппорт этого поисковика.
24. White - 14 Августа, 2011 - 17:48:58 - перейти к сообщению
new01 некоторые "особо продвинутые" поисковики могут игнорировать <noindex>, но про игнор robots.txt слышу впервые.
25. new01 - 18 Августа, 2011 - 19:20:17 - перейти к сообщению
Whiteхм. Да так и есть. робот.txt поисковик не обязан выполнять - это всего лишь простые рекомендации.
26. DeepVarvar - 18 Августа, 2011 - 19:27:58 - перейти к сообщению
new01 пишет:
робот.txt
эту хрень придумали сами поисковики.
Сами себе и придумали.
Никто его не игнорит.
27. snikers987 - 26 Октября, 2011 - 08:54:26 - перейти к сообщению
new01 пишет:

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


Определяй в index.php константу, в остальных файлах проверяй определена ли она, если фаил запущен не через единую точку входа- константа не определена, и делай что тебе надо.
28. Estenny - 14 Ноября, 2011 - 22:29:55 - перейти к сообщению
Что-то я вообще ничего не понял.
Итак, что у меня имеется: файл .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`а.
29. sKaa - 14 Ноября, 2011 - 22:57:22 - перейти к сообщению
Проверь в файле настрое 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
30. Estenny - 14 Ноября, 2011 - 23:04:48 - перейти к сообщению
sKaa пишет:
Проверь в файле настрое Apache (httpd.conf) включен ли модуль mod_rewrite.
LoadModule rewrite_module modules/mod_rewrite.so

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

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

Но в том то и дело, что мне надо, чтобы выглядело как site.ru/reg.php!

 

Powered by ExBB FM 1.0 RC1