Я работаю с клиентом, и мы только что перевели его сайт с Godaddy (ew!) На Pair Networks.Я использовал пару лично и для клиентов в течение многих лет и имел большой опыт работы с ними.К сожалению, из-за этой проблемы, поскольку это план общего хостинга, техническая поддержка по переписыванию URL-адресов не входит в план поддержки.
В любом случае, как только мы переместили сайт из-за правил перезаписи в корне.дольше работать..Htaccess содержит:
RewriteEngine On
RewriteRule ^((images|styles|scripts|documents)/*.*)$ $1 [L]
RewriteRule ^(admin/*)$ index.php/$1 [L]
RewriteRule ^([a-zA-Z0-9]+)$ page/id/$1
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ index.php/$1 [L]
Ошибка по Apache - слишком много перенаправлений, что приводит к отображению ошибки 500.Если я закомментирую это:
#RewriteRule ^(.*)$ index.php/$1 [L]
Тогда страница по умолчанию загружается (index.php устанавливает значение по умолчанию, если ни один не указан в URL), но тогда ни одна из других страниц не может загрузиться.Мне пришлось вручную добавлять записи для каждого формата URL в .htaccess, чтобы поддерживать работоспособность сайта, в результате чего:
RewriteEngine On
RewriteRule ^((images|styles|scripts|documents)/*.*)$ $1 [L]
RewriteRule ^(admin/*)$ index.php/$1 [L]
RewriteRule ^(admin/([a-zA-Z0-9]+))$ index.php/$1 [L]
RewriteRule ^(admin/([a-zA-Z0-9]+)/([a-zA-Z0-9]+))$ index.php/$1 [L]
RewriteRule ^(page/id/*)$ index.php/$1 [L]
RewriteRule ^(page/submit)$ index.php/page/submit [L]
RewriteRule ^([a-zA-Z0-9]+)$ index.php/page/id/$1
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico)
#RewriteRule ^(.*)$ index.php/$1 [L]
Сайт использует Codeigniter, поэтому ожидаемый окончательный переписанный формат URL будет следующим: http://server/index.php/page/id/example
для загрузки http://server/example
.
У меня был другой клиент на серверах Pair, использующий точно такую же CMS и тот же оригинальный .htaccess в течение примерно 6 лет без проблем, поэтому я немного ошеломлен тем, почемуэто внезапно вызовет проблемы.Они оба даже используют одну и ту же версию Apache и PHP (2.2.22 и 5.3.8 соответственно).
У кого-нибудь есть идеи по поводу этой проблемы?Я бы предпочел, чтобы не нужно было вручную определять все маршруты, подобные этой.