1. PHP / Говнокод #7034

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    // редиректим адреса без слеша на такие же со слешем
    $uri = $_SERVER['REQUEST_URI'];
    $is_file = false;
    if (	(substr_count($uri,".php")>0) or (substr_count($uri,".html")>0)		) {
    	$is_file = true;
    }
    
    if ($is_file == false) {
    	$len_uri = strlen($uri);
    	// находим последнее вхождение слеша
    	$reverst_str = strrev($uri);
    	//die($reverst_str);
    	$last_slash = strpos($reverst_str,"/");
    	
    	//die($last_slash);
    	if  ($last_slash!==0) {
    		
    		$uri .="/";
    		$status = "301 Found";
    		//header("Status: ".$status);
    		header('HTTP/1.1 301 Moved Permanently');
    		header("Location: http://www.thermostudio.ru"."$uri");
    		exit();
    
    	}
    }

    встретилось в проекте одном жаль автор не подписался, увековечить бы...

    Запостил: nislova, 23 Июня 2011

    Комментарии (14) RSS

    • блять, как тут запись отредактировать???
      Ответить
    • define("READDIR", 1); // ...история началась отюда!

      ^ оттуда же ))
      Ответить
    • <сарказм>
      Чем больше лишних телодвижений, тем стремительнее развивается вычислительная техника. Как хорошо, что ещё остались люди, которые это осознают.
      </сарказм>
      Ответить
      • set smile = "on";
        зато з/п платят и "делом" занят, хехе.
        Ответить
    • реврайты для лохов
      Ответить
    • Адрес без слеша подобен адресу со слешем, только без слеша?
      Ответить
      • Принципы, которые были принципиальны, были непринципиальны.
        Ответить
      • Я постиг, что путь программера - это говнокод.

        В ситуации "или/или" без колебаний говнокодь. Это нетрудно. Исполнись решимости и действуй. Только малодушные оправдывают себя рассуждениями о том, что можно написать все абсолютно универасльно и расширяемо. Сделать правильный выбор в ситуации "или/или" практически невозможно.
        Ответить
    • Вот тут круче.

      if (!strpos($URL, "ww.")){header("HTTP/1.1 301 Moved Permanently");header("Location: http://www.$URL$request"); exit();}

      if ($request!=='' AND !strpos($request, ".html") AND !strpos($request, "?") AND $request[strlen($request)-1]!=='/')
      {
      header("HTTP/1.1 301 Moved Permanently");
      header("Location: http://$URL$request/"); exit();
      }
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий