У меня возникла проблема с размещенным на GoDaddy сайтом, который не является «основным» сайтом учетной записи. Путь сайта на сервере: webroot/FBM/.htaccess RewriteRule на дополнительном сайте GoDaddy
Когда вы открываете сайт, www.mysite.com открывает файл по умолчанию (index.php), расположенный по адресу webroot/FBM/index.php.
Тонны исследований помогли мне найти, что мне нужно было использовать «Параметры -Мультивы» в первой строке моего файла .htaccess, чтобы любой RewriteRule работал вообще (опять же, только в GoDaddy размещался «альтернативный», сайт).
В настоящее время мой файл .htaccess выглядит следующим образом:
Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^bonus/(.*)$ /bonus.php?query=%1
Когда я использую этот файл .htaccess,
- www.mysite.com/bonus/ и www.mysite.com/ bonus/Stuff работает так, как вы ожидали (открывает /bonus.php с параметром или без него).
- www.mysite.com/bonus.php, похоже, работает сейчас (я думаю, что-то в этом текущем файле .htaccess исправил его), но сначала он дал сообщение, похожее на сообщение, для прямого доступа к файлу php через:
- www.mysite.com/bonus не работает на всех, но дает довольно странное сообщение:
запрошенный URL/FBM/бонус не был найден на этом сервере.
Поскольку/FBM не является частью URL-адреса, я бы не ожидал увидеть это как часть сообщения об ошибке.
Это простой пример использования, чтобы отобразить проблему, с которой я столкнулся со всеми моими «альтернативными» сайтами GoDaddy. Другие проблемы, как правило, намного сложнее и включают перенаправление всех вызовов на сайт на index.php. Однако для этого конкретного проекта мне не нужно это решать, и я чувствую, что, если я смогу это решить, ответ будет на других сайтах.
Кстати, этот файл .htaccess завершился с ошибкой в моей среде разработки (без перезаписи в bonus.php, хотя bonus.php доступен непосредственно через URL-адрес).
Вся концепция перезаписи URL-адресов и регулярных выражений чужда мне, а чтение через google и подобные вопросы в stackoverflow не помогает. Я изучаю эту проблему в течение нескольких месяцев, и я очень ценю любую помощь.