Godaddy: переписать с помощью .htaccess - PullRequest
1 голос
/ 20 июня 2011

У меня есть эта настройка htaccess на моем клиентском сайте, они используют godaddy

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

, он отлично работал на моем MAMP, но, похоже, не работает на сервере

они настроилисубдомен, такой как demo.example.com, и htaccess существует в демо-папке, но я получаю 404 попытки попасть на страницу, как demo.example.com/test, но demo.example.com/test.php работает нормально, так что это говорит мне о htaccessэто не работаКто-нибудь знает, что мне нужно сделать, чтобы эта работа?

Ответы [ 3 ]

5 голосов
/ 20 июня 2011

Попробуйте:

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/

Попробуйте эту простую настройку. Не делайте ничего сложного, пока не решите эту проблему.

3 голосов
/ 13 декабря 2013

Это правильный способ игры с .htaccess на godaddy

Options +FollowSymLinks -MultiViews -Indexes

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}\.php -f

RewriteRule ^(.*)$ /$1.php [L,QSA]
2 голосов
/ 18 июня 2012

Этот ответ о переполнении стека может помочь вам:

Добавьте это:

Options +FollowSymLinks -MultiViews -Indexes

в самом верху и попробуйте.

...