Вы получили бы "Доступ запрещен" при внесении изменений в системной папке из-за контроля учётных записей. В Windows Server 2008 даже при том, что Вы - член Группы администраторов на машине, когда Вы пытаетесь внести любые изменения в папке как inetpub или system32 огни контроля учётных записей в и проверяете подтверждение изменения.
Это настоятельно рекомендовано для не внесения изменений в контроль учётных записей, но можно проверить настройки под Панелью управления-> Учетные записи пользователей-> Учетные записи пользователей. Выберите учетную запись и нажмите на настройки Change User Account Control.
HTH
In addition to enabling rewritelog (if you have access to change the httpd.conf) you should remove the application that lives on this site from the equation. Remove/rename temporarily the default index.php (or whatever index page is serving your app) to be sure it's not causing this.
There are many reports of applications (e.g. wordpress) causing these apache default redirect page to appear if they are misconfigured.
Also, check the rest of the apache config to see if there are any other 'redirect' instructions that might be conflicting.
Что мне кажется странным, так это строка заголовка Location: http://domain.cz/
, сообщаемая CURL. Вы никогда не перенаправляете на этот домен. Журнал перенаправления также не содержит никаких упоминаний об этом.
Почему-то заголовок Location
, кажется, изменился после того, как modrewrite сделал свое дело, и, поскольку вы также пытались изменить заголовок с помощью PHP, Заголовок местоположения
очевидно изменяется после обработки запроса. Единственное объяснение, которое я могу придумать, это то, что вы где-то изменяете заголовок местоположения с помощью mod_header.
Вы проверили все файлы конфигурации (httpd.conf, включенные файлы .conf и файл .htaccess), если вы где-то нашли строка, аналогичная этой:
Header set Location (...)
или
Header edit Location (...)
Can you try this alternative mod_rewrite code:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Попробуйте:
RewriteCond %{HTTP_HOST} ^domain.cz [NC]
RewriteRule (.*) http://www.domain.cz/$1 [R=301,L]
Надеюсь, у вас есть доступ к серверу, Добавлена строка перенаправления после указанной папки с документами сайта
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.cz [NC]
RewriteRule ^/(.*) http://www.domain.cz/$1 [L,R=301]
Если у вас нет доступа к серверу, добавьте эту строку в httaccess, начиная / измените часть.
Возможно, вы не добавляли «RewriteEngine on» перед перенаправлением.
Убедитесь, что у вас есть Параметры + FollowSymLinks
, если вы работаете в контексте каталога.
В противном случае, если вы используете виртуальные хосты на основе имен, попробуйте:
<VirtualHost *:80>
ServerName domain.cz
Redirect / http://www.domain.cz/
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain.cz
# whatever else
</VirtualHost>
После прочтения всех ответов вы можете проверить файл de / etc / hosts ... возможно, все ваши проверки сделаны с вашего компьютера . Попробуйте получить доступ из другого места.
I have a second idea. The server log you posted shows an adress of "192.168.1.221", which is an adress from the local network. Do all log entries show the same IP adress? If this is the case, there is a proxy between you and the server. This proxy probably uses ProxyPassReverse
or Header edit
to change the Location
header.
This is a usual setup to circumvent the problem when the backend server puts its own hostname into the Location
header, rather than the hostname of the external proxy server.
If there really is a proxy server, you will have to change the configuration of the proxy server rather than the configuration of the backend server, as the proxy will always overwrite the information.
This means that all the time we have been looking at the wrong server: The problem is with the proxy server!
Я полагаю, у вас отсутствует знак $ после условия перезаписи. Попробуйте:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.cz$
RewriteRule ^(.*)$ http://www.domain.cz/$1 [R=301,L]