У меня есть 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>