[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблема с .htaccess
MatrixGod
всем привет!

люди, помогите разобраться...

.htaccess находится в корневой папке. его содержание:

Options +FollowSymLinks
RewriteEngine On

###php_flag display_errors off
###php_flag display_startup_errors off

RewriteRule ^mysite.com/(.*)/(.*)$ /view.php?id=$1&name=$2


при переходе по ссылке такого вида:
http://www.mysite.com/1234567890/vasya-pupkin

сервер выдает ошибку 404.

в чем может быть проблема? хостинг говорит что у них все ок с настройками.
и похожий RewriteRule у меня стоит на другом сайте и там все ок.



Спустя 16 минут, 31 секунда (15.12.2011 - 21:08) Winston написал(а):
Не пробовал так писать ?
RewriteBase /
RewriteRule ^(.*)/(.*)/?$ http://mysite.com//view.php?id=$1&name=$2 [L,QSA]

Цитата (MatrixGod @ 15.12.2011 - 19:51)
супер срочно!

Улыбнуло :)

Спустя 4 минуты, 26 секунд (15.12.2011 - 21:12) ZSH написал(а):
Цитата
RewriteRule ^mysite.com/(.*)/(.*)$ /view.php?id=$1&name=$2


Цитата
http://www.mysite.com/1234567890/vasya-pupkin


может из-за www в адресе?

Спустя 4 минуты, 34 секунды (15.12.2011 - 21:17) ems написал(а):
это из-за пхп. если он установлен в ручную то флаги нужно прописывать в php.ini

а нет там 500 ошибка. не ручаюсь за свои слова =)

Спустя 51 минута, 41 секунда (15.12.2011 - 22:08) MatrixGod написал(а):
всем спасибо, разобрался!

теперь вопрос такой, можно как-то ограничивать RewriteRule?

тоесть, у меня станицы вида:
http://www.mysite.com/1234567890/vasya-pupkin/

и все картинки сохранены в:
http://www.mysite.com/images/

таким образом, когда я обращаюсь к картинке, скажем:
http://www.mysite.com/images/logo.jpg/

он ей тоже делает RewriteRule так как путь как раз совпадает с условием.
и скорей всего получается типа (потому что картинки все пропали):
http://www.mysite.com/view.php?id=images&name=logo.jpg/


как исправить?

Спустя 7 минут, 32 секунды (15.12.2011 - 22:16) Xes написал(а):
Мой мозг думает так надо:

RewriteBase /
RewriteRule ^([^/]+)/(.+)$ view.php?id=$1&name=$2


А почему у тя заработоло, воброс вобщемто не к тебе кнечно,а в аудиторию вдеь
(.*) захавает всю строку вместе со слешем разделяющим категории?

Спустя 9 минут, 48 секунд (15.12.2011 - 22:26) Xes написал(а):
MatrixGod, тут надо все договаривать и сразу т.к. mod_rewrite еще та штука.
Важна каждая галочка и каждый слеш.

Конкретно под то что ты сказал я вижу так:


RewriteBase /
RewriteRule ^([0-9]+)/([a-z0-9-]+)/$ view.php?id=$1&name=$2 [L]


И еще MatrixGod надо писать как можно уже правила
так если так писать не надо. Вопервых мозг грется разбирать эти случаи во вторых лишние запросы к базе с id = пустая строка никчему.
RewriteRule ^([0-9]*)/([a-z0-9-]*)/$ view.php?id=$1&name=$2 [L]

Спустя 39 минут, 54 секунды (15.12.2011 - 23:06) ZSH написал(а):
1 вариант. В папку images положить файл .htaccess
RewriteEngine off


2 вариант. В основном .htaccess перед RewriteRule вставить строку:
RewriteCond %{REQUEST_URI} !(\.js|\.css|\.gif|\.png|\.jpg|\.jpeg|\.ico|\.swf|\.mid)$

(\.js|\.css|\.gif|\.png|\.jpg|\.jpeg|\.ico|\.swf|\.mid) - список расширений файлов к которым не производить переход на index.

3 вариант. В основном .htaccess перед RewriteRule вставить :
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d

если не найдена директория или файл тогда переход на index

Спустя 11 минут, 14 секунд (15.12.2011 - 23:17) Winston написал(а):
MatrixGod используй 3-й вариант ZSH'a, для решения этой проблемы.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.