Порт изменения и хост с помощью .htaccess

Один путь состоял бы в том, чтобы заменить символом, который не появляется в Ваших данных, но видах после скобок (в некоторой локали).

sed 's/-/|/g' inputfile | LC_ALL=C sort | sed 's/|/-/g' > outputfile

Это - очевидно, не идеальное решение.

1
задан 4 April 2013 в 18:52
2 ответа

Попробуйте использовать это в своем .htaccess .

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^sub.website.com:2000 [NC]
RewriteRule (.*) https://123.45.67.891:3000/$1 [R=301,L]

Вы также можете посмотреть принятый ответ здесь ( http://www.webmasterworld.com/apache/3264071.htm ). R = 301 используется для постоянного перенаправления. Если вы хотите использовать временное перенаправление, используйте вместо этого R = 302.

Если это не помогает, вы можете попробовать включить прокси в вашем apache: (отредактируйте ваш /etc/apache2/httpd.conf)

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

<VirtualHost sub.website.com:2000>
    ServerName  redirecting
    ServerAdmin admin@website.com

    ProxyRequests off
    ProxyPass / http://123.45.67.891:3000
</VirtualHost>

( посмотрите решение, размещенное здесь Переадресация портов Apache ).

0
ответ дан 4 December 2019 в 00:44

Трудно сделать это с помощью RewriteRules в файлах .htaccess. Проблема в том, что файлы .htaccess читаются только после того, как сервер прошел фазу преобразования URL-адреса в имя файла. Только после того, как сервер придет к (предварительному) выводу, что ресурс, который он должен обслуживать, существует в его файловой системе, он начнет читать соответствующие файлы .htaccess. Возможно, ваш файл .htaccess никогда не читается для этих запросов. Включите перезапись, чтобы узнать об этом.

Вы должны сделать это в конфигурации основного сервера.

1
ответ дан 4 December 2019 в 00:44

Теги

Похожие вопросы