Topper Публикувано Февруари 14, 2007 Report Share Публикувано Февруари 14, 2007 Поблазни ме идеята да не се опреснява всеки път таблицата на DNS-а, когато ми хрумне да пусна някаква услуга като rss, forum, webmail и т.н.Поразрових се доста из нета, пробвах решения с метатагове, редирект с джаваскирт и PHP и т.н. докато не попаднах на идеалното решение!Признавам, ползвал съм mod_rewrite на Апачи-то, но не подорзирах че е толкова мощен инструмент.Идеята е следната - в DNS се задава един, последен запис в зоната от вида *.mydomain.com IN A my_IP_address. След това в Апачи-то, работещо на този my_IP_address се разрешава RewriteEngine ON за оносовната директория и всяка заявка се "пренаписва" към съответната директория, като в тази директория отделно с .htaccess може да се манипулира адреса. Но до тук е на теория, поне при мен. С DNS-а няма грижи, но колкото и предложения, препоръки и други хватки от нета да пробвах - в основната директория пренаписване не се получава Само един от примерите ще дам, но моля някой, който е прилагал този метод да сподели мнение. RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^www\.mydomain\.com RewriteRule (.*) [url="http://www.mydomain.com/$1"]http://www.mydomain.com/$1[/url] [R=301,L] илиRewriteBase / RewriteCond %{HTTP_HOST} \.mydomain\.com$ RewriteRule ^(.*)$ [url="http://www.mydomain.com/$1"]http://www.mydomain.com/$1[/url] [R=301,L] Цитирай Link to comment Сподели другаде More sharing options...
coldy Публикувано Март 13, 2007 Report Share Публикувано Март 13, 2007 Чакай, че ми стана интересно ... не съм си играл с mod_rewrite но първо какво ти показва $ sudo apache -lили$sudo apache2 -l т.е. компилиран ли е апача за работа с този модул? Цитирай Link to comment Сподели другаде More sharing options...
Topper Публикувано Март 14, 2007 Author Report Share Публикувано Март 14, 2007 (Редактиран) Apache Version Apache/1.3.37 (Unix) PHP/4.3.10 Apache Release 10337100 Apache API Version 19990320 User/Group wwwrun(1004)/103 Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100 Timeouts Connection: 300 - Keep-Alive: 15 Server Root /usr/local/apache Loaded Modules mod_php4, mod_setenvif, mod_proxy, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_actions, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_status, mod_mime, mod_log_config, mod_env, http_core Разбира се, че работи - ползвам го в други скриптове, като снимкови галерии с warpper - работи си.Машината е Слак 10.1, 2.4.26 но това няма никакво значение. Но има Squid на същата машина с активиран httpd_accel_host virtual и httpd_accel_port, но е мога да си правя много експерименти - лайв машина на корпоративно ниво.. ПП. root съм на машината Редактиран Март 14, 2007 от Topper Цитирай Link to comment Сподели другаде More sharing options...
Topper Публикувано Март 14, 2007 Author Report Share Публикувано Март 14, 2007 (Редактиран) А ето и една извадка от лога rewrite.log[mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (3) [per-dir /var/www/htdocs/] add path-info postfix: /var/www/htdocs -> /var/www/htdocs/ [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (3) [per-dir /var/www/htdocs/] strip per-dir prefix: /var/www/htdocs/ -> [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (3) [per-dir /var/www/htdocs/] applying pattern '^(.+)' to uri '' [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (1) [per-dir /var/www/htdocs/] pass through /var/www/htdocs [mp3.mydomain.com/sid#8235ddc][rid#829337c/subreq] (2) init rewrite engine with requested uri /index.html [mp3.mydomain.com/sid#8235ddc][rid#829337c/subreq] (1) pass through /index.html [mp3.mydomain.com/sid#8235ddc][rid#8281d24/initial/redir#1] (2) init rewrite engine with requested uri /index.html [mp3.mydomain.com/sid#8235ddc][rid#8281d24/initial/redir#1] (1) pass through /index.html [mp3.mydomain.com/sid#8235ddc][rid#8281d24/initial/redir#1] (3) [per-dir /var/www/htdocs/] strip per-dir prefix: /var/www/htdocs/index.html -> index.html [mp3.mydomain.com/sid#8235ddc][rid#8281d24/initial/redir#1] (3) [per-dir /var/www/htdocs/] applying pattern '^(.+)' to uri 'index.html' [mp3.mydomain.com/sid#8235ddc][rid#8281d24/initial/redir#1] (4) RewriteCond: input='mp3.mydomain.com' pattern='^www\.mydomain\.com$' => not-matched [mp3.mydomain.com/sid#8235ddc][rid#8281d24/initial/redir#1] (1) [per-dir /var/www/htdocs/] pass through /var/www/htdocs/index.html [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (2) init rewrite engine with requested uri /theme.css [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (1) pass through /theme.css [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (3) [per-dir /var/www/htdocs/] strip per-dir prefix: /var/www/htdocs/theme.css -> theme.css [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (3) [per-dir /var/www/htdocs/] applying pattern '^(.+)' to uri 'theme.css' [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (4) RewriteCond: input='mp3.mydomain.com' pattern='^www\.mydomain\.com$' => not-matched [mp3.mydomain.com/sid#8235ddc][rid#82807dc/initial] (1) [per-dir /var/www/htdocs/] pass through /var/www/htdocs/theme.css Редактиран Март 14, 2007 от Topper Цитирай Link to comment Сподели другаде More sharing options...
coldy Публикувано Март 21, 2007 Report Share Публикувано Март 21, 2007 Здравей, щом всичко е Ок, остава играта с mod_rewrite в .htaccess-а ама така и не съм сядал да се занимавам с него. Преди седмица или две трябваше да правя нещо допобно, но открих отговора тук http://httpd.apache.org/docs/2.0/rewrite/r...e_advanced.html Т.е. не знам защо при теб не работи, но на машината, на която имаше проблем ако не се лъжа всичко бе едно към едно като твоето съдържание. Цитирай Link to comment Сподели другаде More sharing options...
Topper Публикувано Март 26, 2007 Author Report Share Публикувано Март 26, 2007 Поне документация четем де Цитирай Link to comment Сподели другаде More sharing options...
coldy Публикувано Март 28, 2007 Report Share Публикувано Март 28, 2007 Трябваше да се убедя дали примера който даде и този който аз използвах са идентични, признавам човъркаше ме ... давам пример с домейна softvisia.com RewriteEngine OnRewriteCond %{HTTP_HOST} ^softvisia.com$ [NC]RewriteRule ^.*$ http://www.softvisia.com%{REQUEST_URI} [R=301,L] Успех! Цитирай Link to comment Сподели другаде More sharing options...
Препоръчан пост
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.