RewriteEngine On и функция PHP - include

Статус
В этой теме нельзя размещать новые ответы.

kozax89

Постоялец
Регистрация
12 Июл 2009
Сообщения
135
Реакции
4
Добавил, в .htacces такое:

RewriteEngine on
RewriteRule ^(program+)/([0-9]+).html view_program.php?id=1

должен c URL Для просмотра ссылки Войди или Зарегистрируйся - делать следующий - Для просмотра ссылки Войди или Зарегистрируйся

Все вроде работает - но почемуто, не работает функция include и файл CSS на страничке под URL Для просмотра ссылки Войди или Зарегистрируйся

Кто знает почему и как сделать чтоб заработал?
 
Что конкретно с инклюдом, трудно сказать, не зная, что именно инклюдится, т.к. он не зависит от реврайта, разве что адреса берутся из адресной строки...
Но вот к самому правилу возникли вопросы:
Добавил, в .htacces такое:
RewriteEngine on
RewriteRule ^(program+)/([0-9]+).html view_program.php?id=1
(program+) - здесь зачем скобки и + ? "program" может повторяться несколько раз? Может быть убрать и скобки и плюс?
.html - точку надо экранировать
?id=1 - здесь не нужно ли брать число из [0-9]?
Вот мне видится таким правило:
Код:
RewriteRule ^program/([0-9]+)\.html view_program.php?id=$1
 
не работает функция include и файл CSS на страничке под URL Для просмотра ссылки Войди или Зарегистрируйся
судя по всему просто пути неправильно проставлены без реврайта было без каталога, а теперь он добавился
а css присоединен
<link rel="stylesheet" href="stiles.css" type="text/css" media="screen">
 
Похоже что проблема в путях. Смотри, у тебя появился еще один каталог в урле, а в коде скорее всего используешь относительные пути.
 
что за бред ?

пути -- только если ты используешь в инклюдах что то из урла
в других случаях инклюд происходит в view_program.php

на счет css - тут да, советую прописать абсолютный адрес от корня сайта
 
Всем спасибо, все помогли ))

Kloster специальное спасибо, теперь я наконец понял зачем там + и зачем скобки )) А то нигде понятно не описан синтаксис...

include - и вправду нормально работает - все дело было в ссылках к картинкам и css - их надо прописывать полностью вместе с http:// а не относительно - чтобы работало... Столько переписывать теперь ))

Еще раз спасибо всем ))

А не подскажите как быть с URL типа Для просмотра ссылки Войди или Зарегистрируйся

- хотелось бы чтобы финальный URL выглядел типа Для просмотра ссылки Войди или Зарегистрируйся

Тоесть чтобы прятал переменные &category=%E0%E4%EC%E8%ED%E8%F1%F2%F0%E8%F0%EE%E2%E0%ED%E8%E5&cat=administrating.php - а менял часть view_programs.php?subcategory=%EC%E5%ED%E5%E4%E6%E5%F0%FB%20%F4%E0%E9%EB%EE%E2

пробовал RewriteRule ^programs/(.*)\.html view_programs.php?subcategory=$%E4%F0%F3%E3%E8%E5%20%EC%F3%EB%FC%F2%E8%EC%E5%E4%E8%E0%EB%FC%ED%F%E5%20%EF%F0%EE%E3%F0%E0%EC%EC%FB&category=%EC%F3%EB%FC%F2%E8%EC%E5%E4%E8%E0&cat=multimedia.php

Но страница после загрузки меняеться на Для просмотра ссылки Войди или Зарегистрируйся и работает так как будто не получает переменную $subcategory

Поможете? ))
 
Всем спасибо, все помогли ))
Kloster специальное спасибо, теперь я наконец понял зачем там + и зачем скобки )) А то нигде понятно не описан синтаксис...
include - и вправду нормально работает - все дело было в ссылках к картинкам и css - их надо прописывать полностью вместе с http:// а не относительно - чтобы работало... Столько переписывать теперь ))
Ну, я бы не стал спешить все переписывать, можно и относительными путями обойтись, главное - правильно их написать :)
У меня на больших проектах css могут лежать в разных папках и картинки в разных, и все работает. Пишу полные пути только если картинку надо с другого сайта дернуть :)
Но это уже как кому нравится.
А не подскажите как быть с URL типа Для просмотра ссылки Войди или Зарегистрируйся
- хотелось бы чтобы финальный URL выглядел типа Для просмотра ссылки Войди или Зарегистрируйся
Тоесть чтобы прятал переменные &category=%E0%E4%EC%E8%ED%E8%F1%F2%F0%E8%F0%EE%E2%E0%ED%E8%E5&cat=administrating.php - а менял часть view_programs.php?subcategory=%EC%E5%ED%E5%E4%E6%E5%F0%FB%20%F4%E0%E9%EB%EE%E2
пробовал RewriteRule ^programs/(.*)\.html view_programs.php?subcategory=$%E4%F0%F3%E3%E8%E5%20%EC%F3%EB%FC%F2%E8%EC%E5%E4%E8%E0%EB%FC%ED%F%E5%20%EF%F0%EE%E3%F0%E0%EC%EC%FB&category=%EC%F3%EB%FC%F2%E8%EC%E5%E4%E8%E0&cat=multimedia.php
Но страница после загрузки меняеться на Для просмотра ссылки Войди или Зарегистрируйся и работает так как будто не получает переменную $subcategory
Поможете? ))
ты хочешь в адресе кириллицу вставить? Очень не советую.
 
А есть тогда какой нибудь способ зашифровать аот это: %E0%E4%EC%E8%ED%E8%F1%F2%F0%E8%F0%EE%E2%E0%ED%E8%E5& например в ряд знаков типа 162323423? Например средствами PHP?
 
...
пробовал RewriteRule ^programs/(.*)\.html view_programs.php?subcategory=$%E4%F0%F3%E3%E8%E5% 20%EC%F3%EB%FC%F2%E8%EC%E5%E4%E8%E0%EB%FC%ED%F%E5% 20%EF%F0%EE%E3%F0%E0%EC%EC%FB&category=%EC%F3%EB%F C%F2%E8%EC%E5%E4%E8%E0&cat=multimedia.php

Но страница после загрузки меняеться на Для просмотра ссылки Войди или Зарегистрируйся и работает так как будто не получает переменную $subcategory

тут subcategory=$%E4%F0%F ненужный знак $ наверное из-за этого проблема.

а может отказатся от cat=multimedia.php и инклудить файлы по переменной category в скрипте включить проверку какая категория такая и cat, тогда не надо будет прописывать все названия в htaccess например была бы ссылка

-http://superprograms.ru/Администрирование/менеджеры файлов.html

RewriteRule ^(.*)/(.*)\.html view_programs.php?subcategory=$1&category=$2 [QSA,L]
 
тут subcategory=$%E4%F0%F ненужный знак $ наверное из-за этого проблема.
а может отказатся от cat=multimedia.php и инклудить файлы по переменной category в скрипте включить проверку какая категория такая и cat, тогда не надо будет прописывать все названия в htaccess например была бы ссылка
-http://superprograms.ru/Администрирование/менеджеры файлов.html
RewriteRule ^(.*)/(.*)\.html view_programs.php?subcategory=$1&category=$2 [QSA,L]

не могу отказаться от cat=multimedia.php так как нужно это для одного из элементов навигации без которого никуда не деться... и еще у меня вместо пробела ставит %20 ((
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху