Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для webog
1 / 1 / 0
Регистрация: 12.07.2011
Сообщений: 68

Настройка .htaccess mod_rewrite

15.05.2014, 22:27. Показов 1190. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добра всем!

Есть ссылка вида: sait.ru/urlimg.php?id=1&url=2

Скрипт:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (isset($_GET['id'])){
        echo "Yes id!";
        $ID_user = $_GET['id'];
        $ID_user;
} else {
        echo "No id!";
    }
// ===========================
if (isset($_GET['url'])){
        echo "Yes url!";
        $ID_user = $_GET['url'];
        $ID_user;
        echo "-> ".$url_url;
 
    } else {
        echo "No url!";
    }
Скрипт выведет: Yes id!Yes url!

Но прописав в .htaccess нехитрые коды:

Code
1
2
3
4
5
6
7
8
9
10
11
12
AddDefaultCharset UTF-8
 
#DirectoryIndex urlimg.php
 
RewriteEngine on
RewriteBase /
 
RewriteRule ^urlimg/(.*)$ /urlimg.php?id=$1
RewriteRule ^([A-Za-z0-9-]+)/([^/]+)/ urlimg.php?id=$1&url=$2 [L]
 
#RewriteRule ^([A-Za-z0-9-]+)/ urlimg.php?url=$1 [L]
#RewriteRule ^([A-Za-z0-9-]+)/ urlimg.php?img=$1 [L]
Для получения ссылки вида: sait.ru/urlimg/1/2 - скрипт выводит Yes id! No url!

Вот я думаю, что то не верно в .htaccess

Вопрос: Как сделать что бы все работало? Или предложите иной вариант это задачи.

Спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2014, 22:27
Ответы с готовыми решениями:

htaccess mod_rewrite
Суть проблемы: Есть сайт, странички на нем допустим index.php page1.php page2.php Как сделать с помощью .htaccess так...

mod_rewrite htaccess
Что нужно прописать в .htaccess , чтобы когда человек, переходил по ссылке http://мой-сайт/test ему высвечивалось содержимое страницы...

MOD_REWRITE в .HTACCESS
Здравствуйте! Поменять 1 единственный URL: RewriteRule ^advsearch/$ index.php?advsearch=0 Набираем:...

6
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
15.05.2014, 23:09
Лучший ответ Сообщение было отмечено webog как решение

Решение

Цитата Сообщение от webog Посмотреть сообщение
Добра всем!
.htaccess
Code
1
2
RewriteEngine on
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?id=$1&url=$2 [L,QSA]
index.php
PHP
1
2
3
4
5
6
7
8
9
10
<?
if (isset($_GET['id']))
    echo "Yes id! ($_GET[id])\r\n</br>";
else
    echo "No id!";
if (isset($_GET['url']))
    echo "Yes url! ($_GET[url])\r\n</br>";
else
    echo "No url!";
?>
вид ссылки
Code
1
http://localhost/hello/world/
или
Code
1
http://localhost/hello/world
Вывод
Code
1
2
Yes id! (hello) 
Yes url! (world)
1
 Аватар для webog
1 / 1 / 0
Регистрация: 12.07.2011
Сообщений: 68
15.05.2014, 23:20  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
RewriteEngine on
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?id=$1&url=$2 [L,QSA]

PHP
1
RewriteRule ^(.*)/(.*)/?$ index.php?&id=$1&url=$2 [L,QSA]
В чем разница?

Завтра Ваш пример попробую! Спасибо!
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
15.05.2014, 23:33
Цитата Сообщение от webog Посмотреть сообщение
В чем разница?
Во-первых, у Вас в строке URL обязателен последний слеш, то есть sait.ru/urlimg/1/2 точно не будет работать, только sait.ru/urlimg/1/2/
Во-вторых, у вас первый rewriterule скорее всего перебивает второй, наверное их надо было местами поменять, хотя я не уверен...

Во всяком случае я показал как точно работает.
1
 Аватар для webog
1 / 1 / 0
Регистрация: 12.07.2011
Сообщений: 68
16.05.2014, 10:49  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Во всяком случае я показал как точно работает.
Да, но не для моего случая.

У Вас пример с sait.ru/1/2/

Мне нужно(сокращенно): sait.ru/urlimg/1/2

Подробнее(не сокращенно): sait.ru/urlimg.php?id=1&url=2

------------
Соответственно:

sait.ru/urlimg/1/2 -> Yes id! Yes url!

sait.ru/urlimg/1 -> Yes id! NO url!

Помогите разрулить, пожалуйста!

Спасибо!
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
16.05.2014, 21:45
Цитата Сообщение от webog Посмотреть сообщение
Мне нужно(сокращенно): sait.ru/urlimg/1/2
Code
1
RewriteRule ^/urlimg/(.*)/(.*)/?$ urlimg.php?&id=$1&url=$2 [L,QSA]
Нет проблем
1
65 / 64 / 33
Регистрация: 25.02.2014
Сообщений: 229
17.05.2014, 15:00
При работе с mod_rewrite важно помнить что он не "что-то умное", а "совсем тупое". Важно помнить что mod_rewrite работает с путем как со строкой. Все замены делает последовательно (если не выставлены соответствующие флаги). При этом обрабатывается в цикле (сам .htaccess посторяется многократно) обрабатывается до тех пор пока строка изменяется. Вот тут вот очень замечательно описаны некоторые тонкости mod_rewrite.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.05.2014, 15:00
Помогаю со студенческими работами здесь

.htaccess mod_rewrite
Всем доброй ночи!:sleep: localhost, denver Хочу, чтобы по ссылке на хттп://mymy/css/style.css грузилось из...

htaccess mod_rewrite
Здравствуйте подскажите пожалуйста, как сделать так, чтобы страница site.ru/category/index.php открывалась по адресу site.ru/page.html, я...

.htaccess and mod_rewrite
сайт в процессе создания а денвере и есть проблема: сам htaccess RewriteEngine On RewriteRule ^articles/(+)/$...

Htaccess mod_rewrite
Здравствуйте. Подскажите кто знает. Есть правило в htaccess, которое накладывает водный знак на картинку &lt;FilesMatch...

mod_rewrite и файл .htaccess
Уважаемые хорошие дядьки, помогите пожалуйста. Есть скрипт который выводит значения GET переменных Х1,У1,З1. Как настроить апач таким...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru