![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
anjo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.2.2011 Репутация: нет Всего: нет |
Ситуация такова, меня попросили решить одну проблему, но я не могу понять в чём дело.
Был осуществлён перенос сайта на том же хостинге, тоесть хостинг не менялся, сайт скопирован (PHP), MySql база вроде импортирована корректно. Перенос делал не я, а тот кто делал пропал с концами. Проблема - при нажатии на ссылки меняется релативный адрес, но не происходит замены контента, хотя первая страница то загружается и коннект с базой происходит. Может кто знает, где собака зарыта? вот сам сайт http://scomfort.lv |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Посмотрите в сторону .htaccess. Если правила рерайта адресов были прописаны прямо в конфиге Apache, вполне вероятно, что они не были перенесены на новое место - поэтому ссылки не обрабатываются корректно.
|
|||
|
||||
anjo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.2.2011 Репутация: нет Всего: нет |
вот собственно содержимое файла .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) /index.php/$1 [L] </IfModule> К сожалению знания этого файла минимальны, но как ме кажется всё есть. Или тут как то в ручную нужно прописывать каждый релативный линк? И,к сожалению, всё, что было на предыдущем уже не посмотреть. Это сообщение отредактировал(а) anjo - 24.2.2011, 00:10 |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Это правило обрабатывает слова в URL. Можно в index.php добавить print_r ($_GET), чтобы убедиться, что передача параметров работает, как надо - если так, значит дело не в параметрах, а в их обработчике. Добавлено через 4 минуты и 10 секунд ...или print_r ($_SERVER) - точно не знаю. |
|||
|
||||
anjo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.2.2011 Репутация: нет Всего: нет |
Да, print_r ($_GET); показал, что проблема в обработчике.
Выдаёт: Array ( [0] => main) Вот код php, из index.php
похоже был дописан этот кусок if(!isset($_GET[0])) { $_GET[0] = 'main'; } , если менять 'main', на другие, то контент меняется, $_GET[1] за $_GET[0] выдаёт подкаталог. Похоже придётся все прописать вручную, не подскажете как? что то с switch-case у меня не получается, видимо опыта маловато. |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
У Вас в .htaccess правило немного изменено. Оно передаёт не в $_GET, а в $_SERVER. Посмотрите $_SERVER ['REQUEST_URI'], кажется. Попробуйте присвоить его значение в $_GET [0].
Добавлено через 2 минуты и 1 секунду Если значений несколько, разбейте их: $_GET=explode ("/", trim ($_SERVER ['REQUEST_URI'], '/')); |
|||
|
||||
anjo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 23.2.2011 Репутация: нет Всего: нет |
Огромное спасибо.
$_GET=explode ("/", trim ($_SERVER ['REQUEST_URI'], '/')); практически решил задачу. +1, как только наберу 100 постов ![]() Это сообщение отредактировал(а) anjo - 25.2.2011, 19:29 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |