Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Redirect 301 без htaccess
цитата
19/11/10 в 20:04
 Mad Knight
нужно чтобы происходил редирект 301 domen.com на www domen.com
сейчас редиректит через htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domen.com(.*)
RewriteRule ^(.*)$ http://www.domen.com$1 [R=301,L]
всё работает и редиректится

стоит апач в связке с nginx
mod_rewrite

как сделать редирект 301 через httpd.conf неиспользуя htaccess
уже всю голову сломал нихрена не подходит и не редиректит
цитата
19/11/10 в 20:47
 Jacob
<VirtualHost domain.com>
  Redirect 301 / http://www.domain.com/
</VirtualHost>
<VirtualHost 10.10.10.10>   
  ServerName domain.com
  RewriteEngine on
  RewriteRule ^/(.*) http://www.domain.com/$1 [L,R=301]
</VirtualHost>
цитата
19/11/10 в 21:36
 Mad Knight
Jacob: в первом случии редиректа не происходит

а во втором случае вместо страницы выдает надпись
Цитата:

Неверное перенаправление на странице
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
Эта проблема может возникать при отключении или запрещении принятия кук.
цитата
19/11/10 в 21:58
 Jacob
http://www.domain.com и http://domain.com настроены как 2 разных хоста?
цитата
19/11/10 в 22:06
 Jacob
Если это в рамках одного виртуал хоста, то можно попробовать так.
<VirtualHost 10.10.10.10>   
  ServerName domain.com
  ServerAlias domain.com
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^domain.com(.*)
  RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L]
</VirtualHost>
Оффтопик: в ServerAlias должно быть имя домена с www.

Последний раз редактировалось: Jacob (19/11/10 в 22:10), всего редактировалось 1 раз
цитата
19/11/10 в 22:10
 lega_cobra
Mad Knight писал:
Jacob: в первом случии редиректа не происходит


Значит что-то неправильно сделано. Использовать для редиректа mod_rewrite - микроскопом забивать гвозди. Что-то типа варварства. icon_smile.gif
цитата
19/11/10 в 22:13
 lega_cobra
Jacob писал:
Оффтопик: в ServerAlias должно быть имя домена с www.


Тогда не будет редиректа.icon_smile.gif
цитата
19/11/10 в 22:21
 Jacob
lega_cobra писал:
Тогда не будет редиректа.icon_smile.gif

Поспорим? smail101.gif
цитата
19/11/10 в 22:24
 lega_cobra
Jacob писал:
Поспорим? smail101.gif


Привести код apache, как отрабатывается сервералиас? icon_smile.gif И при этом без рассказов, что "мол, под редиректом я имел ввиду нечто другое..." icon_smile.gif

static const char *set_server_alias(cmd_parms *cmd, void *dummy,
                                    const char *arg)
{
    if (!cmd->server->names) {
        return "ServerAlias only used in <VirtualHost>";
    }

    while (*arg) {
        char **item, *name = ap_getword_conf(cmd->pool, &arg);

        if (ap_is_matchexp(name)) {
            item = (char **)apr_array_push(cmd->server->wild_names);
        }
        else {
            item = (char **)apr_array_push(cmd->server->names);
        }

        *item = name;
    }

    return NULL;
}
цитата
19/11/10 в 22:31
 Jacob
<Directory "/home/jacob/vhosts/domain.com/htdocs/">
        Options FollowSymLinks Includes
        Order Allow,Deny
        Allow from all
        AllowOverride All
        DirectoryIndex index.php index.html
</Directory>

<Directory "/home/jacob/vhosts/domain.com/cgi-bin/">
        Options FollowSymLinks Includes
        Order Allow,Deny
        Allow from all
        AllowOverride All
</Directory>

<VirtualHost *:80>
        ServerName domain.com
        ServerAlias domain.com
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^domain.com(.*)
        RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L]
        ServerAdmin webmaster@domain.com
        DocumentRoot /home/jacob/vhosts/domain.com/htdocs
        ScriptAlias /cgi-bin/ /home/jacob/vhosts/domain.com/cgi-bin/
        ErrorLog /home/jacob/vhosts/domain.com/logs/error_log
        LogLevel warn
        CustomLog /home/jacob/vhosts/domain.com/logs/access_log combined
</VirtualHost>
Рабочего конфига хватит? icon_wink.gif
цитата
19/11/10 в 22:44
 lega_cobra
Jacob писал:
Рабочего конфига хватит? icon_wink.gif


Там точно в первый раз rewrite был, или он появился "чуть позже" во время редактирования? icon_smile.gif Если был - значит я уже слепой, и не увидел его сразу.
цитата
19/11/10 в 22:59
 Jacob
А вот этого не надо, все там было icon_wink.gif
цитата
20/11/10 в 09:03
 Mad Knight
Jacob писал:

<VirtualHost 10.10.10.10>   
  ServerName domain.com
  ServerAlias domain.com
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^domain.com(.*)
  RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L]
</VirtualHost>

при таком варианте редиректится но не войти в админку кристала icon_confused.gif
цитата
20/11/10 в 19:07
 Jacob
А так http://www.domain.com/crtr/admin тоже не пускает?
цитата
21/11/10 в 18:36
 Mad Knight
Jacob: и с www и без не пускает в админку кристала
мистика блин, есть у кристала файл .htaccess с таким содержимым может он мешает
<IfModule mod_rewrite.c>
  RewriteEngine Off
</IfModule>
DirectoryIndex index.php
пробывал менять в нем RewriteEngine Off на RewriteEngine On
не помогает
пишет
Неверное перенаправление на странице
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
Эта проблема может возникать при отключении или запрещении принятия кук.
цитата
21/11/10 в 20:52
 Jacob
Mad Knight: Так будет работать, ./crtr/.htaccess оставь как был изначально.
<Directory "/home/jacob/vhosts/domain.com/htdocs/">
        RewriteEngine on
        RewriteCond %{REQUEST_URI} !^/crtr/
        RewriteCond %{HTTP_HOST} ^domain.com(.*)
        RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L]
        Options FollowSymLinks Includes
        Order Allow,Deny
        Allow from all
        AllowOverride All
        DirectoryIndex index.php index.html
</Directory>

<Directory "/home/jacob/vhosts/domain.com/cgi-bin/">
        Options FollowSymLinks Includes
        Order Allow,Deny
        Allow from all
        AllowOverride All
</Directory>

<VirtualHost *:80>
        ServerName domain.com
        ServerAlias *.domain.com
        ServerAdmin webmaster@domain.com
        DocumentRoot /home/jacob/vhosts/domain.com/htdocs
        ScriptAlias /cgi-bin/ /home/jacob/vhosts/domain.com/cgi-bin/
        ErrorLog /home/jacob/vhosts/domain.com/logs/error_log
        LogLevel warn
        CustomLog /home/jacob/vhosts/domain.com/logs/access_log combined
</VirtualHost>
цитата
22/11/10 в 16:52
 Mad Knight
а так кристал перестает вести статистику
вообщем забил я на это всё буду как и раньше через через htaccess работать
цитата
22/11/10 в 18:07
 Jacob
А вообще изначально в чем смысл был?
цитата
22/11/10 в 19:56
 Mad Knight
сделать всё через httpd.conf без использования htaccess


Эта страница в полной версии