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

Форум Apache

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

 

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

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

тема: условие в mod_rewrite
 
 автор: krollik   (02.04.2006 в 20:34)   письмо автору
 
 

Помогите найти ошибку в уловии для файла .htaccess просто выдаёт ошибку 500
Вот весь текст файла .htaccess

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^\.htaccess$ - [F]
RewriteRule ^/index/([a-zA-Z]+)/([a-zA-Z]+)\([0-9]+).html$ /index.php?$1=$2&$id=$3

   
 
 автор: krollik   (05.04.2006 в 20:33)   письмо автору
 
   для: krollik   (02.04.2006 в 20:34)
 

Условие немного изменилось, теперь ошибки 500 нету, но..
Вот весь текст файла .htaccess

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^\.htaccess$ - [F]
RewriteRule ^/([a-zA-Z]+)/([0-9]+)\.html$ /index.php?catalog=$1&$id=$2

Помогите найти ошибку.. Дело в том, что когда я иду по ссылке site.loc/catalog/123.html то мне выдаёт

The requested URL /catalog/123.html was not found on this server.

Из-за чего? Где ошибка?
И ещё вопрос, будет ли работать данное условия с ссылками типа site.loc/catalog Тоесть будет ли передаваться переменная catalog?

   
 
 автор: Trianon   (05.04.2006 в 22:22)   письмо автору
 
   для: krollik   (05.04.2006 в 20:33)
 

Выражению ^/([a-zA-Z]+)/([0-9]+)\.html$ отвечает строка /catalog/123.html , но никак не site.loc/catalog/123.html
Буквально у вас написано следующее:
^ - с самого начала строки
/ - косая черта
([a-zA-Z]+) - одна или несколько букв - компонент сохранить первым
/ - косая черта
([0-9]+) - одна или несколько цифр - компонент сохранить вторым
\. - точка
html - html
$ - должно совпасть с концом строки

   
 
 автор: krollik   (06.04.2006 в 15:35)   письмо автору
 
   для: Trianon   (05.04.2006 в 22:22)
 

а к тогда поправить условие?

   
 
 автор: Trianon   (06.04.2006 в 16:09)   письмо автору
 
   для: krollik   (06.04.2006 в 15:35)
 

Я не особо разбираюсь в регекспах, и совершенно не разбираюсь в mod_rewrite. Так что лучше послушать гуру. Но следуя банальной логике, исправить надо как-то так:
RewriteRule ^/site\.loc/([a-zA-Z]+)/([0-9]+)\.html$ /index.php?catalog=$1&$id=$2

   
 
 автор: krollik   (06.04.2006 в 16:52)   письмо автору
 
   для: krollik   (05.04.2006 в 20:33)
 

хех, поправил так:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^\.htaccess$ - [F]
RewriteRule ^/?([a-zA-Z]+)/([0-9]+)\.html$ /index.php?catalog=$1&$id=$2

теперь работает!

   
Rambler's Top100
вверх

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