Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: mod_rewrite. Начало.
 
 автор: Alph[p]a   (11.02.2007 в 21:37)   письмо автору
 
 

Вот кодил я всегда с обычными, длинными url, и захотелось мне использовать mod_rewrite. А что да как незнаю. Хотелось бы консультаций. Вот начну с простово.)) Как мне сделать из ссылки
index.php?code=download такую www.site.com/code/download.html. Ищо хотелось бы узнать что такое Options +FollowSymlinks и RewriteBase /. Заранее спасибо )))

   
 
 автор: cheops   (12.02.2007 в 00:10)   письмо автору
 
   для: Alph[p]a   (11.02.2007 в 21:37)
 

Можно поступить следующим образом
RewriteEngine on 
Options +FollowSymlinks 
RewriteBase / 
RewriteRule ^code/download.html /index.php?code=download [L]

> хотелось бы узнать что такое Options +FollowSymlinks и RewriteBase /.
FollowSymlinks - включает следование символическим ссылкам, RewriteBase / - устанавливает в качестве точки отсчёта в директивах RewriteRule корневую директорию сайта.

   
 
 автор: Alph[p]a   (12.02.2007 в 00:32)   письмо автору
 
   для: cheops   (12.02.2007 в 00:10)
 

Огромное спасибо. Знал что помогут! И ещ0 что значит [L] ?

   
 
 автор: Alph[p]a   (12.02.2007 в 00:54)   письмо автору
 
   для: Alph[p]a   (12.02.2007 в 00:32)
 

мда поторопился..(( не работает ((
написал в .htaccess (лежит в корне)

RewriteEngine on  
Options +FollowSymlinks  
RewriteBase /  
RewriteRule ^code/download.html /index.php?code=download [L]

в httpd.conf

LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so

апач перезапускал
простой index.php

<?php
echo '<a href=index.php?code=download>Download</a><br>';
echo 
'<a href=code/download.html>Download 2</a><br>';
if (!empty (
$_GET['code'])) echo 'Download file';
?>

кликаеш на code/download.html и получаю Not Found! блин(( ч0 делать?

   
 
 автор: cheops   (12.02.2007 в 01:56)   письмо автору
 
   для: Alph[p]a   (12.02.2007 в 00:54)
 

У меня работает, проверьте контейнер <Directory /></Directory> в конфигурационном файле httpd.conf - что в нём?
<Directory />
    Options All
    AllowOverride All
</Directory>

   
 
 автор: cheops   (12.02.2007 в 01:58)   письмо автору
 
   для: Alph[p]a   (12.02.2007 в 00:32)
 

Здесь параметр [L] избыточен, но лучше его использовать, он означает, что если найдено соответствие регулярному выражению, то дальше просматривать соответствия не следует (по умолчанию - наоборот).

   
 
 автор: Alph[p]a   (12.02.2007 в 09:38)   письмо автору
 
   для: cheops   (12.02.2007 в 01:58)
 

Клёв0...работает! спасибо!
в httpd.conf
было

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

заменил на

<Directory /> 
    Options All 
    AllowOverride All 
</Directory>

....думаю это не конец..токо начинал осваивать mod_rewrite так чт0 в0просы будут ;-)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования