LINUX.ORG.RU

mod_rewrite верно написан?


0

1
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule article/(.*)/(.*)/$ /article.php?$1=$2
RewriteRule pages/(.*)/(.*)/$ /pages.php?$1=$2
RewriteRule news/(.*)/(.*)/$ /news.php?$1=$2

а то что-то не работает...

★★★★★

Последнее исправление: sniper21 (всего исправлений: 1)

не уверен что поможет

^article...

anonymous
()

Первый раз вижу, чтобы правила mod_rewrite вообще без модификаторов писали.

r_asian ★☆☆
()
Ответ на: комментарий от random_linux_user

помницо как-то на похэпэ я пытался сделать недо-mvc, сил хватило только vc реализовать. там у меня обработчик url был приблизительно такой: единая точка входа index.php; всё что вида /index.php?всякие_параметры редиректится на /?всякие_параметры; дальше в зависимости от соответствия определенным регулярками вызывались определенные приложения (внутри проекта) (ну почти как в джанге). т.е. чпушно и мод_реврайты не нужны

anonymous
()
Ответ на: комментарий от anonymous

только оно не очень работает

Такое сделать несложно:

$URLS = array('^/$' => 'index',
              '^admin/page/([0-9]+)/$' => 'admin_edit_page',
              // ....
              '^([\w-]+)/$' => 'page');

//...

function admin_edit_page($id)
  {
     //...
  }

//...

foreach ($URLS as $pattern => $method)
  {
    if (preg_match('#'.$pattern.'#', $request, $matches))
      {
        call_user_func_array($method, array_slice($matches,1));
        $is_found = True;
        break;
      }
  }

//...

Ну а $request брать, например, через mod_rewrite на index.php?q=$1. В результате и юзер не видит index.php, и похоже на джангу. При желании можно допилить до приличного вида.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.