xModRedirect работает по-разному на apache 2.2 и apache 2.4, как заставить работать на 2.2?

Кто-нибудь знает разницу между apache 2.2 mod_rewrite и apache 2.4 rewrite!

У меня есть приложение для создания веб-сайтов, и оно отлично работает, но я хочу перенести код с сервера apache 2.4 на сервер apache 2.2.

Когда я это делаю, я получаю рекурсивный цикл в правилах перезаписи на сервере 2.2:

Вот код .htaccess, который РАБОТАЕТ на сервере apache 2.4.

    # Powered by Domainsunder.ca
    DirectoryIndex index.php index.cgi index.html
    ErrorDocument 401 "Unauthorized"
    ErrorDocument 403 "Forbidden"
    RewriteEngine On

    #### PERSISTENT CONTENT ####

    #### PERSISTENT CONTENT END ####

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ sitepro/$1 [L,QSA]

    #### PERSISTENT CONTENT ####

Поэтому, когда я запускаю его на apache 2.2, он бесконечно зацикливается и выдает ошибки:

    Thu Feb 11 17:04:03 2016] [error] [client x.x.x.x] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://www.domainsunder.ca/

поэтому я добавил

    RewriteCond %{ENV:REDIRECT_STATUS} 200

на apache 2.2 .htaccess, но он по-прежнему имеет неправильный URL-адрес, как в http://somedomain.ca/sitepro/mypage вместо http://somedomain.ca/mypage

Сообщение об ошибке на экране СЕЙЧАС:

    The requested URL /sitepro/domain_name_information/ was not found on this server.

Файл sitepro/index.php предназначен для отображения страницы и работает на apache 2.4.

Похоже, что mod_rewrite и .htaccess позволяют работать, так что это похоже на проблему с движком apache.

Что мне нужно добавить, чтобы это заработало?

У меня также была такая же проблема, когда я пытался заставить Wordpress работать на том же сервере 2.2.

Я не хочу запускать cpanel или перекомпилировать apache на этом компьютере с CentOS 6.x.


person Blair Lowe    schedule 12.02.2016    source источник
comment
да - я отредактировал его в более четкую версию.   -  person Blair Lowe    schedule 12.02.2016
comment
Да, .htaccess находится в корневом каталоге   -  person Blair Lowe    schedule 12.02.2016
comment
Это полный .htaccess   -  person Blair Lowe    schedule 13.02.2016


Ответы (1)


[РЕШЕНО] mod_rewrite работал отлично: проблема заключалась в том, что поддиректория /sitepro/.htaccess неправильно передавалась по ftp.

person Blair Lowe    schedule 12.02.2016