Иванов В.
17 сообщений
#15 лет назад
Требуется создать виртуальный урл для .htaccess Апача

Исходный адрес
Требуемый

Получается переписать вот так
RewriteRule ^index.php/category/2(/)?$ /premium/  


Но пишет 404 ошибку, т.к. папки premium не существует, нужно чтобы этот адрес показывался в адресной строке, но обращение шло к

Помогите, пожалуйста.
Александр К.
201 сообщение
#15 лет назад
Category и внутри папку 2 создешь и будет работать (в данном случае)
Иванов В.
17 сообщений
#15 лет назад
voooz, если бы это являлось решением, то я вопрос бы не писал, читаем внимательней:
Цитата:
нужно чтобы этот адрес показывался в адресной строке, но обращение шло к ]http://website.com/index.php/category/2
Анатольевич В.
137 сообщений
#15 лет назад
Вы перепутали параметры RewriteRule местами.

RewriteRule example
If does not exist, redirect to .
# .htaccess in root of example.com
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$
Иванов В.
17 сообщений
#15 лет назад
klimz, спасибо за ответ. А вы могли бы написать конкретный код для моего примера.
Т.к. я так и не понял куда в вашем примере подевалось
Анатольевич В.
137 сообщений
#15 лет назад
RewriteRule ^premium/$ index.php/category/2
Иванов В.
17 сообщений
#15 лет назад
klimz, да я уже так пробовал, никакой реакции. В том то и дело что работает оно почему-то в обратном порядке. Но все равно пишет ошибку, т.к. папки не существует.
Анатольевич В.
137 сообщений
#15 лет назад
Попробуйте так -
RewriteRule premium/$ index.php/category/2
В обратном порядке оно никак не может работать.
Максим Ф.
3195 сообщений
#15 лет назад
Цитата ("slf"):
Но пишет 404 ошибку, т.к. папки premium не существует, нужно чтобы этот адрес показывался в адресной строке, но обращение шло к

Насколько я понял, вы в адресной строке пишете и хотите, чтобы он заменялся сам на адрес , но обращение шло к ? Если да - то это невозможно.
Иванов В.
17 сообщений
#15 лет назад
Не хочет, думаю нужно что-то типа вот такого прописывать
для вот этого адреса , все работает

RewriteCond %{THE_REQUEST} ^{3,9}\ /(+/)*index\.php\ HTTP/
RewriteRule ^((+/)*)index\.php$

я по прежнему думаю что будет переадресация на несуществующий адрес. Наверное нужно создавать виртуальный хост или типа того в .conf
хотя как-то можно через пхп тоже это задать....но что-то пока не нашел как, и с htaccess разобраться до конца не получается =/
Иванов В.
17 сообщений
#15 лет назад
AlekartRu, нет ничего невозможного =)
В Wordpress есть permalinks например, там вообще все с базы тащится, ни одной категории с урлов не существует
все в формате
Иванов В.
17 сообщений
#15 лет назад
AlekartRu, А вообще я хочу писать в адресной строке и ссылках
обращение к это имеется ввиду истинный адрес который формируется при помощи пхп
Максим Ф.
3195 сообщений
#15 лет назад
Цитата ("slf"):
AlekartRu, А вообще я хочу писать в адресной строке и ссылках ]http://website.com/premium/

Тогда у вас всё должно работать.
Возьмите образец перенаправления с любого другого сайта на вашем хостинге и сделайте по образцу. Если всё то, что выше вам написали - не работает, значит проблема в хостинге.
Иванов В.
17 сообщений
#15 лет назад
AlekartRu, странно, но на локалхосте та же картина. Была бы проблема в хостинге у меня на локалке все должно работать. Может стрипт делает какие-то неизвестные манипуляции, не знаю...но вроде не должен.

сделать по примеру? =) Да мне кажется я тут скоро уже документалку начну писать по апачу, вдоль и поперек все эти примеру перепробовал и документацию изучил в поисках ответа.
Иванов В.
17 сообщений
#15 лет назад
AlekartRu и klimz, спасибо за уделенное время и попытку помочь.
Максим Ф.
3195 сообщений
#15 лет назад
Попробуйте вместо букву L написать.
Роман П.
1599 сообщений
#15 лет назад
RewriteRule ^index.php/category/2(/)?$ /premium/ 


сие глупость, так как вы обращаетесь по адресу /premium/, а апач уже применяет к этому правила и должен "перекинуть" запрос на index.php/category/2. В общем, места перепутали, как уже выше сказали

а проблема решится установкой RewriteBase /
Иванов В.
17 сообщений
#15 лет назад
Цитата ("Paralysed"):
а проблема решится установкой RewriteBase /

Paralysed, не решится, это есть в файле

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
Иванов В.
17 сообщений
#15 лет назад
Цитата ("klimz"):
RewriteRule ^premium/$ index.php/category/2


Уточню. Пишу в адресной строке , перекидывает на
А надо что бы в адресной строке оставалось и при обращении к
в адресной строке, тоже показывалось

Теперь понятно чего я пытаюсь добиться?
Андрей К.
1172 сообщения
#15 лет назад
slf, не понятно, зачем вы хотите апач перекидывать с одного чпу на другое. Ваша - это такая же ссылка, которая преобразуется в какое-нибудь index.php?category=2, вот и сделайте, чтобы premium/ вел туда же.
К примеру, если у вас стоит такая настройка
RewriteRule ^category\/({1}{0,})$ index.php?category=$1
то добавьте просто после нее
RewriteRule ^premium?$ index.php?category=2