Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Затупил с mod_rewrite

42K
27 февраля 2010 года
vathsven
30 / / 11.11.2009
нужно сделать понятное ЧПУ в mod_rewrite.
примерно ссылки из тела такие: http://xxxxx.ru/?page=vacancy, а стартовая просто http://xxxxx.ru. подскажите строчку в .htaccess чтобы переписывал это дело на http://xxxxx.ru/vacancy типа так. из пхп проверка в таком режиме
if(!empty($_GET['page'])) {
$direct=htmlspecialchars($_GET['page']).'.inc';
include("$direct");
} else { include('home.inc'); }
253
27 февраля 2010 года
Proger_XP
1.5K / / 07.08.2004
Зачем для этого юзать mod_rewrite? Тупо в скрипте:
 
Код:
<?php
if (empty($_GET['page'])) {
  $_GET['page'] = 'vacancy';
}
// ...
?>
42K
27 февраля 2010 года
vathsven
30 / / 11.11.2009
дак URL не меняется
253
27 февраля 2010 года
Proger_XP
1.5K / / 07.08.2004
А, тебе редирект нужен. Ну, либо используй header('Location: /?page=...'); либо тогда через mod_rewrite, что-то вроде этого:
 
Код:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^$
RewriteRule .* /?page=... [R]
92
28 февраля 2010 года
Тень Пса
2.2K / / 19.10.2006
только не [R], а [L] и даже [L,QSA]
афтар типа хочет чтобы юзер ему на "site.com/vacancy", а реврат ему "site.com/?page=vacancy"
42K
28 февраля 2010 года
vathsven
30 / / 11.11.2009
да я всяко пробовал уже, например RewriteRule ^([A-Za-z0-9]+)/$ index.php?page=$1 , ничего не работает. mod rewrite в апаче включен, а URL не хочет переписываться ;)
253
28 февраля 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Только не [R], а [L] и даже [L,QSA]


Так [L] это и будет внутренний запрос - а я так понял, что автору надо, чтоб у юзера браузер перенаправился. Ибо:

Цитата:
дак URL не меняется


...иначе эффект от [L] будет тот же, что и от замены незаданной переменной GET в самом скрипте, только с лишними затратами на mod_rewrite.

92
28 февраля 2010 года
Тень Пса
2.2K / / 19.10.2006
:) пусть будет так. только имхо афтар просто неясно выразился ) псмотрим.
92
28 февраля 2010 года
Тень Пса
2.2K / / 19.10.2006
Цитата: vathsven
да я всяко пробовал уже, например RewriteRule ^([A-Za-z0-9]+)/$ index.php?page=$1 , ничего не работает. mod rewrite в апаче включен, а URL не хочет переписываться ;)


знаешь, вот эти твои.... "не хочет переписываться" ))) только в заблуждения вводят :) тебе что конкретно надо? чтобы юзер шёл сюда site.ru/page_name, а реврайтилось всё сюда site.ru/?page=page_name? т.е. ЧПУ. так?

если да, то поиск по форуму, потому что миллион двадцать пять раз обсуждалось =) тем более, здесь тебе и подсказок дали уже.

42K
01 марта 2010 года
vathsven
30 / / 11.11.2009
затупка была в апачевском AllowOverride All, а стояло None, т.е. .htaccess грубо говоря не работал
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог