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 :: Версия для печати :: Проблемы из-за ЧПУ (помогите разобраться)
Форумы портала PHP.SU » Серверное администрирование » Apache и другие веб-серверы » Проблемы из-за ЧПУ (помогите разобраться)

Страниц (1): [1]
 

1. Andruxa - 18 Июня, 2011 - 11:35:50 - перейти к сообщению
Всем привет сразу к вопросу.
Есть файл .htaccess:
CODE (htmlphp):
скопировать код в буфер обмена
  1. AddDefaultCharset utf8
  2. DirectoryIndex index.php
  3. RewriteEngine On
  4. Options +FollowSymlinks
  5. RewriteCond   %{REQUEST_FILENAME}       !-d
  6. RewriteCond   %{REQUEST_FILENAME}       !-f
  7. RewriteRule   ^(.*) index.php?%{QUERY_STRING}


есть файл index.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define( '_ACCESS_', 1 );
  3. include("inc/functions.php");
  4. include("header.php");
  5. $url=get_url();
  6. if($url[2]==""){
  7.    include("news.php");
  8.     echo"<title>$title</title>";
  9. }
  10. if($url[2]!="" && $url[3]=="" ){
  11.     die('Ай-яй-яй, сюда нельзя!');
  12. }
  13. if($url[2]!="" && $url[3]!="" ){
  14.     include("".$url[2]."/".$url[3].".php");
  15.     echo"<title>$title</title>";
  16. }
  17. include("footer.php");
  18. ?>


В functions.php есть строчка
PHP:
скопировать код в буфер обмена
  1.  // .....
  2. $domain="portal.ru";
  3. //.....


Кусочек из файла header.php:
PHP:
скопировать код в буфер обмена
  1. <link rel="stylesheet" href="/<?PHP echo $domain;  ?>/img/style.css" type="text/css"/>

Т.е я везде в путях прописываю $domain, и в ссылках тоже.

А теперь собственно вопрос.
На локалке все работает так как нужно, закинул на реальный хост, там не работает.
Путем различных манипуляций выявил, что на реальном хосте все работает, если прописать:
PHP:
скопировать код в буфер обмена
  1. $domain="/www.portal.ru/";

Но в таком случае все ссылки на сайте получаются
http://portal.ru//users/registrations
как избавиться от двойгого слэша ?
2. Coder1994 - 18 Июня, 2011 - 12:32:09 - перейти к сообщению
может быть,
поможет?
3. Andruxa - 18 Июня, 2011 - 12:42:40 - перейти к сообщению
Coder1994 пишет:
$domain = $_SERVER[HTTP_HOST];

Не помогло, но вот это
Цитата:
$domain="/".$_SERVER[HTTP_HOST];

Отображает ссылки нормально, но не обображает содержание, т.е например по ссылке
http://portal[dot]ru/users/login выдает
Цитата:
Ай-яй-яй, сюда нельзя!
я так понимаю переменная почему то не определяется Недовольство, огорчение

кусочек login.php
PHP:
скопировать код в буфер обмена
  1. defined('_ACCESS_') or die('Ай-яй-яй, сюда нельзя!');
  2. if (isset($_POST['log_in'])){
  3.   // проверка имени
  4. //.....
  5. }
  6.  
4. Andruxa - 19 Июня, 2011 - 09:17:23 - перейти к сообщению
Ап.
Посоветуйте что-нибудь Недовольство, огорчение
5. Давит - 19 Июня, 2011 - 09:37:38 - перейти к сообщению
6. Andruxa - 20 Июня, 2011 - 08:47:38 - перейти к сообщению
Ну вообщем разобрался сам.
дело было в следующем.

в $url на локалке и на реальном хосте получалось разное количество элементов Улыбка

 

Powered by ExBB FM 1.0 RC1