Динамические поддомены |
Когда я не использовал Parser, то данная строчка в .htaccess перенаправляла пользователя с user.sys.domain.ru/key на domain.ru/scr.php?user=user&sys=sys&key=key
RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ \/scr.php/?user=$1&sys=$2&key=$3 [L] C установленным Parser3, при попытке изменить параметр на подобный:
RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ \/index.html/?user=$1&sys=$2&key=$3 [L] выдается следующая ошибка:
The requested URL /user.sys.domain.rucgi-bin/parser3.cgi/index.html/ was not found on this server.] Однако, если убрать строчку Action parsed-html /cgi-bin/parser3.cgi, то поддомены снова начинают работать. Что делать?
Вот полный .htaccess
AddDefaultCharset utf-8
RewriteEngine ON
RewriteCond %{ENV:REDIRECT_MYFLAG} ^$
RewriteCond %{HTTP_HOST} ^(.*?)\.domain\.ru$
RewriteRule ^(.+) %{HTTP_HOST}$1 [E=MYFLAG:1]
RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ \/index.html/?user=$1&sys=$2&key=$3 [L]
AddHandler parsed-html html
Action parsed-html /cgi-bin/parser3.cgi
<Files ~ "\.(p|cfg)$">
Order allow,deny
Deny from all
</Files>
|
| а зачем у вас перед /index.html обратный слэш, а после него -- прямой? |
Только что попробовал изменить на такое
RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ index.html/?user=$1&sys=$2&key=$3 [L]
и такое
RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ /index.html/?user=$1&sys=$2&key=$3 [L] Ничего не получилось, выдается все та же ошибка. |
Зачем вот этот слешь? index.html/?user=$1&sys=$2&key=$3 |
Изменил на такое:
RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ page.html?user=$1&sys=$2&key=$3 [L] Страницы page.html в папке с сайтом не присутствует, однако все открывается, но параметры не передаются. |
Изменил на такое:
RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ page.html?user=$1&sys=$2&key=$3 [L]
Страницы page.html в папке с сайтом не присутствует, однако все открывается, но параметры не передаются. |
Страницы page.html в папке с сайтом не присутствует, однако все открывается
а что в таком случае открывается-то? и зачем убрали начальный слэш? вы слэши от фонаря добавляете/убираете, или всё-таки попробовали понять что они означают в данном случае? |
Даже если бы слеш остался, первый и второй варианты 1. RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ /index.html/?user=$1&sys=$2&key=$3 [L] 2. RewriteRule ^(.*?)\.(.*?)\.domain\.ru([^/]*)$ index.html/?user=$1&sys=$2&key=$3 [L] теперь больше не ругаются, зато теперь выдается подобная ошибка при следующем запросе:
http://user.sys.domain.ru/GUA
The requested URL /GUA/ was not found on this server. |
Что-то я не припоминаю, чтобы в RewriteRule попадали хосты... |
| И как оно на пхп у вас вообще работало, гуглите RewriteCond. |
mod_rewrite |
| Правильно понимаю, что директория cgi-bin у вас находится в корне сайта, где лежит .htaccess? Тогда надо в cgi-bin положить свой .htaccess, в котором сказать RewriteEngine off, чтобы рирайты основного сайта на нее не распространялись. Именно из-за этого рирайта получается ошибка "The requested URL /user.sys.domain.rucgi-bin/parser3.cgi/index.html/ was not found on this server.]" |
Да тут вообще каша в правилах. |
До зацикливания тут далеко. Глобальное не понимания как работает модуль вообще. |