Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 07:40   #1
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию URL + PHP

вообщем есть такая задача, несколько страниц сайта должны иметь вид
mycite.ru/forum
mycite.ru/somepage
вообщем суть ясна, и вопрос в том есть ли какие то средства в рнр чтоб выдерать вот эти окончания "/forum" и "/somepage" ?
Пока только пришел к тому чтоб парсить $_SERVER, но интересно узнать есть ли решение более элегантное чтоли)
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 13.12.2011, 07:55   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
интересно узнать есть ли решение более элегантное чтоли
Канечна дорогой!
Код:
$parse = pathinfo('/www/htdocs/inc.php');
print $parse['dipname'];    //   /www/htdocs/
print $parse['basename']; //   inc.php
print $parse['extension']; //   php
print $parse['filename'];   //   inc
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.12.2011, 09:33   #3
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

Код:
<?

$parse = pathinfo($_SERVER['REQUEST_URI']);
//echo $parse['dipname']." 1 <br />";    //   /www/htdocs/
//echo $parse['basename']." 2 <br />"; //   inc.php
//echo $parse['extension']." 3  <br />"; //   php
//echo $parse['filename']." 4 <br />";   //   inc
if($parse['basename']=='faq')
{echo "This is F.A.Q and base name =".$parse['basename'];}
else {echo "This Is common and base name =".$parse['basename'];}

?>
<a href="/faq">test</a>
мм спасибо за pathinfo, действительно в одном из элементов массива лежит окончание сылки и все вроде бы работает, вот только если это не index.php,
а мне как раз там и надо, т.е. если ссылка идет как "localhost/test.php/faq" то все срабатывает, и условия относительно basename выполняются , но если ссылка имеет вид "localhost/faq " то выдает ошибку 404, аля The requested URL /faq was not found on this server.
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 13.12.2011, 09:36   #4
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

решается конечно дописыванием в href="index.php/faq" но и ссылка соотвественно меняется на http://localhost/index.php/faq
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 13.12.2011, 10:07   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,184
По умолчанию

копай в сторону .htaccess и mod_rewrite
ADSoft вне форума Ответить с цитированием
Старый 13.12.2011, 11:12   #6
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

покопал уйма инфы говорит что мне поможет создание файла .htaccess в корне и в нем вот такая строка
Redirect 301 /faq http://localhost/
добавил, написал, перезапустил апач, результат 0
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 13.12.2011, 11:22   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Редирект
Andkorol вне форума Ответить с цитированием
Старый 13.12.2011, 13:35   #8
Diez_
Пользователь
 
Регистрация: 10.06.2011
Сообщений: 27
По умолчанию

.htaccess и mod_rewrite

<IfModule rewrite_module>
RewriteEngine On
RewriteRule ^(.*)/([a-zA-Z])$ /index.php?<фаша GET переменая>=$2 [L]
</IfModule>

как то так, писал из башки, поэтому не знаю будет ли работать, приду домой, напишу конкретней, если это то что вам нужно
Мозг! Вернись!

Последний раз редактировалось Diez_; 13.12.2011 в 13:38.
Diez_ вне форума Ответить с цитированием
Старый 14.12.2011, 14:08   #9
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

решил через mod_rewrite в настройках апача
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
формирование url dimonnnn PHP 5 08.08.2010 17:48
URL SID PHP problem vovkes PHP 1 18.02.2010 20:48
PHP скрыть url к файлу Air Помощь студентам 9 30.01.2010 10:21
URL кодировка reyn90 Помощь студентам 0 13.06.2009 06:43