Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Неопределенность с mod rewrite
Форумы портала PHP.SU » Серверное администрирование » Apache и другие веб-серверы » Неопределенность с mod rewrite

Страниц (1): [1]
 

1. Hydr - 26 Марта, 2009 - 12:05:01 - перейти к сообщению
Привет всем и доброго дня. Вчера решил заняться оптимизацией ссылок, преобразуя их в т.н. ЧПУ. Прочитал порядок статей по этому вопросу, но так и не смог заставить работать в нормальном режиме. Проверил, что в httpd.conf стоит AllowOverride all. Сервер реагирует на написанные неточности в файле .htaccess, выдавая 500ю. Но команды никакие не выполняются, даже самые элементарные, как будто ничего не задано в .htaccess. Читал, что файл должнен быть больше 500 байт, вроде и это условие выполнено, но безрезультатно, прошу знающих людей 'вытянуть' меня из ямки, буксовать замучался)) Вот сам код:

CODE (text):
скопировать код в буфер обмена
  1. <IfModule mod_rewrite.so>
  2. Options Includes +ExecCGI
  3. AddType text/x-server-parsed-html .html
  4.  
  5. RewriteEngine On
  6. Options +FollowSymlinks
  7. RewriteBase /
  8.  
  9. RewriteCond %{REQUEST_FILENAME} !-f
  10. RewriteCond %{REQUEST_FILENAME} !-d
  11. RewriteRule ^release/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ release.php?band=$1&title=$2 [L]
  12. </IfModule>


Кстати, кто нибудь знает, как можно изменить в адресной строке символы пробелов (%20). В БД данные в таблицах записаны с нормальным пробелом, как я думаю, придется в записях заменять пробел на "-", а при выводе в документ тире заменять посредством ereg_replace...НО это очень долгая и однообразная задача). Есть иные выходы?? Заранее спасибо.
2. Champion - 26 Марта, 2009 - 16:35:26 - перейти к сообщению
Hydr пишет:
Кстати, кто нибудь знает, как можно изменить в адресной строке символы пробелов (%20). В БД данные в таблицах записаны с нормальным пробелом, как я думаю, придется в записях заменять пробел на "-", а при выводе в документ тире заменять посредством ereg_replace...
Не совсем понял, как именно адресная строка с БД связана? В отрывок из вашего htaccess сейчас вгляжусь
(Добавление)
htaccess должен вроде работать. RewriteBase только убрать надо. Если конечно release.php не в корне сайта лежит. В файл release.php поставьте var_dump($_REQUEST) и посмотрите, есть ли band и title
3. Hydr - 26 Марта, 2009 - 16:47:12 - перейти к сообщению
Адресная строка связана посредством выборки из БД на основе критериев, в данном случае у меня переменной band и title. Просто сначала я выбирал по id, но решив изменить урл, решил делать выборку по band и title. Так, если не ясно, то можно посмотреть здесь: http://morehate[dot]com/release.php здесь выборку делаю пока по id. Даны мини обзоры, а при клике справа появляется информация, вот.
4. valenok - 26 Марта, 2009 - 21:38:09 - перейти к сообщению
судя по отзывам я не один ничего не понял.
5. Hydr - 27 Марта, 2009 - 10:39:04 - перейти к сообщению
Так и не заработало.... Вероятно что то не так, но что - никому не ясно)) Есть еще идеи?

 

Powered by ExBB FM 1.0 RC1