Godaddy предоставляет отличную услугу общего хостинга, предназначенную для большого сектора рынка - пользователей, которым нужен активный сайт (то есть с некоторыми сценариями), но без затрат или сложности оплаты или опыта в администрировании собственного Linux VM. Это не проблема GoDaddy. Это твое.
Итак, сначала разберитесь в среде, в которой вы работаете, запустив скрипт phpinfo
и убедитесь, что он создает переменные, которые вы используете. Насколько я могу видеть на вашем примере:
Правила 1-3 - это 301 перенаправление, чтобы обеспечить соблюдение соглашения о присвоении имен.
- Правило 1 перенаправляет
/index.php
на /
- Правило 2 сводит конечный кратный
/
к одному /
- Правило 3 переписывает запросы GET для
*.php
в *.php/
Правила 4-6 отображают публичные URI на внутренние
- Правило 4 переписывает
/*/yyyy-mm-dd-word
в *?s=yyyy-mm-dd-word
(примечание № QSA)
- Правило 5, похоже, пытается переписать
/*/staff.php/word
в /*/staff.php?s=word
, но синтаксис для этого неправильный.
- Правило 6 заменяет любой трейлинг
/
на .php
при перенаправлении
- Правило 7 удаляет любой завершающий символ '/', если только uri не является каталогом с index.php (я предполагаю, что вы предполагаете
DirectoryIndex index.php
(это относится к GoDaddy?)
Это все безнадежно запутано. Вы скрываете или выставляете расширение .php
? Потому что правила 3,5 и 6 противоречивы. И правило 5 представляется более логичным, как
RewriteRule ^(.*?)/staff.php/([a-zA-Z0-9\-_]+) $1/staff.php?s=$2 [L]
Вернитесь к чертежной доске и выясните, что вы пытаетесь сделать с вашими правилами htaccess; какой должна быть ваша общедоступная грамматика URI; как выстраиваются ваши сценарии; какие перенаправления вы хотите передать обратно в клиентский браузер, и какие Apache должен обрабатывать как внутренние перезаписи, и какие дополнительные условия необходимы для предотвращения циклического прерывания и пропуска зажигания. Убедитесь, что это имеет смысл, а затем отладьте их, создавая файл .htaccess
по одному правилу за раз и используя тестовые запросы для проверки каждого правила по очереди, чтобы проверить, что оно делает.