Попробуйте:
1) Добавьте эту строку в ваш .htaccess: Options +FollowSymlinks
2) Добавьте начальную косую черту перед $1
, например, RewriteRule ^(.*)$ /$1.php [L,QSA]
P.S. Есть некоторые "слухи", что GoDaddy может не сразу получить изменения в файле .htaccess.
Я бы также предложил определить пользовательский обработчик ошибок 404 (простой скрипт PHP), который может помочь с отладкой этого (поместите эту строку в ваш .htaccess):
ErrorDocument 404 /404.php
404.php (так просто, как это)
<?php
Echo "404\n";
phpinfo(INFO_VARIABLES);
Подробности там может помочь определить проблему.
UPDATE:
У нас есть доменное имя и хостинг, который мы не используем, срок действия которого истекает. Поэтому я вошел в систему и проверил эти правила самостоятельно. Получил работу сразу. Вот настройки, которые у меня есть:
- Apache / 1.3.33
- Конфигурация хостинга: 2.1
- PHP 5.x (не удосужился проверить точную версию)
- Дата-центр: США Региональный
.htaccess
уже присутствовал и имел только 1 строку (возможно, оставшуюся от сайта, который был там изначально):
addhandler x-httpd-php5 .phtml
Эти строки были добавлены в .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ /$1.php [L,QSA]
Я создал простой php-файл, чтобы проверить, работает ли он. Называется это echo.php
. Тогда я попробовал эти URL:
Полный физический путь к файлу echo.php: /home/content/b/u/y/buyxxxxxxx/html/echo.php
; корень ftp / сайта /home/content/b/u/y/buyxxxxxxx/html/
Попробуйте эту простую настройку. Не делайте ничего сложного, пока не решите эту проблему.