решил разобратся в mod_rewrite и вот хател сделать такои простои преобразование
из етого урл-а:
http://chtotosait.com/statii.php?stat_id=29
получить такое:
http://chtotosait.com/statii_29.html
в фаиле .htaccess написал:
RewriteEngine on
RewriteRule statii_([0-9]+)\.html statii.php?stat_id=$1
ничего не изменилос, урл еше в таком виде:
http://chtotosait.com/statii.php?stat_id=29
скажите пожалуиста что я не правилно сделаю?
Спустя 3 минуты, 4 секунды (3.10.2011 - 22:44) Игорь_Vasinsky написал(а):
Пока начинаешь в этом сарае лазать - узай http://www.generateit.net/mod-rewrite/ для составления rules
Спустя 1 минута, 35 секунд (3.10.2011 - 22:46) Winston написал(а):
Попробуй переписать
А потом в адресной строке вызывай
http://chtotosait.com/statii_29.html
Спустя 1 минута, 10 секунд Winston написал(а):
Или так
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule statii_([0-9]+)\.html statii.php?stat_id=$1 [L,QSA]
А потом в адресной строке вызывай
http://chtotosait.com/statii_29.html
Спустя 1 минута, 10 секунд Winston написал(а):
Или так
RewriteRule ^statii_([0-9]+)\.html$ statii.php?stat_id=$1 [L,QSA]
Спустя 15 минут, 8 секунд (3.10.2011 - 23:01) dadli написал(а):
Игорь_Vasinsky
етот саит для потому, чтоб видет какои будет оптимални варянт урл'а да? ето хороши "веш" но пока хочу понимат как ето "звер" (mod_rewrite) работает )
Winston
оба варянтов тестировал, ничего не получилос, при визове http://chtotosait.com/statii_29.html видает что такои страница не шушествует
етот саит для потому, чтоб видет какои будет оптимални варянт урл'а да? ето хороши "веш" но пока хочу понимат как ето "звер" (mod_rewrite) работает )
Winston
оба варянтов тестировал, ничего не получилос, при визове http://chtotosait.com/statii_29.html видает что такои страница не шушествует
Спустя 2 минуты, 47 секунд (3.10.2011 - 23:04) Winston написал(а):
Спустя 2 минуты, 51 секунда (3.10.2011 - 23:06) dadli написал(а):
Winston
да конечно
да конечно
Спустя 4 минуты, 2 секунды (3.10.2011 - 23:11) Winston написал(а):
Не может быть, что реврайт не работает, показывай свой .htaccess и как прописываешь в адресной строке ?
Спустя 7 минут, 46 секунд (3.10.2011 - 23:18) dadli написал(а):
ох Winston извини, всо прекрасно работает я сделал ошибку, затупил, как кажется етот помагал: [L,QSA]
скажи прашу, что в квадратних скобках [L,QSA], скажи как ему називается, чтоб искат его в гоогле.
скажи прашу, что в квадратних скобках [L,QSA], скажи как ему називается, чтоб искат его в гоогле.
Спустя 40 секунд (3.10.2011 - 23:19) Игорь_Vasinsky написал(а):
RewriteEngine On
RewriteRule ^statii_([^/]*)\.html$ /statii.php?stat_id=$1 [L]
Проверка
http://chtotosait.com/statii_29.html
Winston
я вот этот метод вообще не понимаю
Цитата |
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d |
Спустя 15 минут, 51 секунда (3.10.2011 - 23:35) Winston написал(а):
Цитата (Игорь_Vasinsky @ 3.10.2011 - 23:19) |
Winston я вот этот метод вообще не понимаю Цитата RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d |
Ну смотри, обычно эти правила используют когда ты пишешь такое регулярное выражение
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
Здесь берется все, что находится после доменного имени и отправляется в переменную route которая в свою очередь обрабатывается обработчиком например таким.
Так вот к чему это я,
Если на странице в исходном коде будут например такие ссылки
<link href="/css/style.css" rel="stylesheet" type="text/css" />То они тоже попадут под правило регулярного выражения, и не смогут быть подключены.
<link href="/css/action.css" rel="stylesheet" type="text/css" />
Так вот, правила request_filename указывают, что регулярку нужно применять для тех ссылок которые не являются адресами файлов или директорий. (Надеюсь понятно объяснил если нет смотри ссылку ниже)
Цитата (dadli @ 3.10.2011 - 23:18) |
скажи прашу, что в квадратних скобках [L,QSA], скажи как ему називается, чтоб искат его в гоогле |
Можно посмотреть здесь
Чтобы долго не искать нажмите Ctrl+F и впишите в поиск QSA там отлично расписано.
Спустя 49 секунд Winston написал(а):
Цитата (Игорь_Vasinsky @ 3.10.2011 - 23:19) |
^statii_([^/]*)\.html$ |
И что это ?
Спустя 7 минут, 37 секунд (3.10.2011 - 23:42) Игорь_Vasinsky написал(а):
это онлайн генератор выдал.
Цитата |
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d |
этот метод только для сайтов с одной точкой входа?
Спустя 47 секунд (3.10.2011 - 23:43) Winston написал(а):
Цитата (Игорь_Vasinsky @ 3.10.2011 - 23:42) |
этот метод только для сайтов с одной точкой входа? |
Да нет вроде...
Спустя 6 минут, 32 секунды (3.10.2011 - 23:50) Игорь_Vasinsky написал(а):
Цитата |
Так вот, правила request_filename указывают, что регулярку нужно применять для тех ссылок которые не являются адресами файлов или директорий. |
так вот что это... сенькс
_____________
когда чарли чаплин принимал участие в конкурсе: "клон чарли чаплинов", то чарли занимал третю позицию.