У меня есть следующая структура папок для моего домена (domain.com):
/ data / images (это имя субдомена, поэтому он доступен через http: // images.domain.com)
/ data / www (это имя субдомена, поэтому к нему можно обратиться через http: // www.domain.com)
/data/.htaccess
И я пытаюсьсделать: Если какого-либо изображения в images.domain.com не существует, переписать URL-адрес с запросом на www.domain.com/somescript.php, поэтому, например,
http://images.domain.com/non-existing-image.jpg
следует переписать в
http://www.domain.com/somescript.php?id=non-existing-image.jpg.
Вот мой htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} \.(jpg|gif|png|bmp)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /data/www/somescript.php?id=$1 [L,QSA]
Но он не работает.Браузер сказал: «не найден».Если я пытался изменить путь на «somescript.php», результаты были «bad-request» или «not-found».
Через журнал доступа я обнаружил, что в большинстве случаев путь к «somescript.php» начинается с"/ data / www / images /" (итоговый путь не существует "/data/www/images/www/somescript.php"), поэтому мне нужно подняться на один уровень выше в структуре папок, но я неНе знаю как (наверное, я уже перепробовал почти все комбинации).
Может кто-нибудь помочь мне, как правильно установить комбинацию RewriteBase и абсолютного / относительного пути для файла "somescript.php"?
Я также хочу отметить, что если я изменюпуть к "http://www.domain.com/somescript.php" в последней строке в моем файле htaccess, он работает хорошо - но из-за" http://" он перенаправлен, и я хотел бы сделать его как переписать.
Большое спасибо.