У меня есть PHP-скрипт, расположенный по адресу http://sb1.dev.codeanywhere.net/~a70097sb/hc/onlinestatus/image.php , для которого требуются две переменные GET : ign и style . Мой файл .htaccess находится в том же каталоге, что и image.php .
Я хочу, чтобы запросы формы http://img.ruphp.com/php/{ign}.png были переписаны на http://sb1.dev.codeanywhere.net/~a70097sb/hc/onlinestatus/image.php?style={style}&ign={ign} . Как мне это сделать, поскольку у меня нет опыта работы с mod_rewrite, и я не смог заставить его работать, используя любой учебник, который я нашел в Google.
Пробовал это, но это не сработало, я просто получил страницу 404:
Options +FollowSymlinks -MultiViews RewriteEngine on RewriteRule ^([^.]*)/([^.]*)\.png$ image.php?style=$1&ign=$2 [L,NC]
Ты на правильном пути. Паттерн захвата ([^/]+) соответствует всем до следующего / , поэтому вам понадобятся два из них.
RewriteEngine On RewriteRule ^([^/]+)/([^/]+)\.png$ image.php?style=$1&ign=$2 [L,NC]
Попробуйте что-то вроде этого:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.mysite\.com [NC] RewriteRule ^hc\/onlinestatus\/(.*)\/(.*)\.png /hc/onlinestatus/image.php?style=$1&ign=$2 [NC,L] </IfModule>