За последние 24 часа нас посетили 15197 программистов и 1671 робот. Сейчас ищут 803 программиста ...

Как заставить ссылки работать?

Тема в разделе "Прочие вопросы по PHP", создана пользователем svetkin, 27 июл 2009.

  1. svetkin

    svetkin Активный пользователь

    С нами с:
    10 июн 2009
    Сообщения:
    8
    Симпатии:
    0
    Добрый день!!!!!!!

    Так случилось что наткнулся на не добросовестного разработчика сайтов, и после долгого времени трудных взаимоотношений решил, перейти с его хостинга на другой, зарегестрировал аккаунт, перенес сайт, и домен туда(спасибо хоть отдали...), но не все так просто, в сайте все ссылуи сделаны так www.site.ru/catalog, а втаком виде ни одна ссылка не работает, если же я напишу: www.site.ru/catalog.php то страница загружается...

    неужели надо все ссылки на сайте перебить или можно как, то решить проблему????
     
  2. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Думаю можно, с помощью mod_rewrite.
    Если сайт скопирован целиком и в папке есть файл .htaccess, содержащий подобную строчку:
    Код (Text):
    1. RewriteRule ...
    ,
    то достаточно будет включить mod_rewrite на вэб сервере и всё заработает.

    Но если такого файла нет, то его( помимо включения mod_rewrite'а на вэб сервере) придётся создать и прописать необходимые условия.
     
  3. svetkin

    svetkin Активный пользователь

    С нами с:
    10 июн 2009
    Сообщения:
    8
    Симпатии:
    0
    Написал следующее

    Код (Text):
    1.  
    2. RewriteEngine on
    3. RewriteBase   /
    4. RewriteRule ^(.*)\.*$  $1.php [R=permanent]
    php добавляется раз 10, чтобы подправить????
     
  4. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    RewriteRule ^(.*)$ $1.php
    Может как-то так?
     
  5. kostyl

    kostyl Guest

    Может както так?
    Код (Text):
    1.  
    2. Options -Indexes
    3.  
    4. #
    5. # mod_rewrite rules for handling nice urls
    6. #
    7. <IfModule mod_rewrite.c>
    8.    RewriteEngine On
    9.    RewriteBase /
    10.    
    11.    # check if requested url is alias
    12.    RewriteCond %{REQUEST_FILENAME}  !-d
    13.    RewriteCond %{REQUEST_FILENAME}  !-f
    14.    RewriteRule .+              index.php     [L]
    15. </IfModule>
     
  6. svetkin

    svetkin Активный пользователь

    С нами с:
    10 июн 2009
    Сообщения:
    8
    Симпатии:
    0
    нашел файл в корневом каталоге:

    PHP:
    1. $URL = strtolower ($_SERVER["REQUEST_URI"]);
    2.  
    3. $V = explode ("?", $URL);
    4. $Name = substr ($V[0], 1, 999);
    5.  
    6. if ( $Name[strlen ($Name) - 1] == "/" )
    7.   $Name = substr ($Name, 0, strlen ($Name) - 1);
    8.  
    9. $ALLOWED = array (
    10. "about",
    11. "ch2",
    12. "catalog",
    13. "prod",
    14. "contacts",
    15. "price",
    16. "offer",
    17. "news",
    18. "archive",
    19. "sitemap",
    20. "search",
    21. "category",
    22. "map",
    23. "msg",
    24. "1",
    25. "gbebi",
    26. "error404",
    27. "nnpag1",
    28. "nnpag2",
    29. "nnpag3",
    30. "nnpag4",
    31. "nnpag5",
    32. "nnpag6",
    33. "nnpag7",
    34. "nnpag8",
    35. "nnpag9",
    36. "gibkie-shlangi",
    37. "vozdushno-teplovye-zavesy",
    38. "zavesy-frico",
    39. "nnpag10",
    40. "getnews");
    41.  
    42. if ( $Name == "" )
    43. {
    44.   require_once "index.php";
    45.   exit;
    46. }
    47.  
    48. if ( $Name == "style.css" )
    49. {
    50.   include_once "style.css";
    51.   exit;
    52. }
    53. if ($Name=="gbebi.php")
    54. {
    55.     include_once "gbebi.php";
    56.   exit;
    57. }
    58. if ( ! in_array ($Name, $ALLOWED) )
    59. {
    60.   require_once "error404.php";
    61.   exit;
    62. }
    63.  
    64. require_once "{$Name}.php";
    может используя его можно как-то решить проблему?
     
  7. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Код вроде рабочий. Никакие изменения не требуется.
     
  8. svetkin

    svetkin Активный пользователь

    С нами с:
    10 июн 2009
    Сообщения:
    8
    Симпатии:
    0
    а как его использовать????
     
  9. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Он должен быть в index.php - главный файл. Через него идёт подгрузка остальных страниц.
     
  10. svetkin

    svetkin Активный пользователь

    С нами с:
    10 июн 2009
    Сообщения:
    8
    Симпатии:
    0
    просто вставить такую строчку:
    PHP:
    1. require_once ("head-s-inc.php");
    Прав я или нет????? или все намного сложнее????
     
  11. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    если этот скрипт в этом файле, то да.
     
  12. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    сколько экспрессии =0