2010-12-30 3 views
2

Я просто перевел мой сайт Wordpress с помощью nginx на Apache2 и обнаружил, что домашняя страница не может быть показана, вместо этого браузер предложит мне загрузить его (загрузка файла точно соответствует индексу.php).Apache2 + Wordpress, не отображающий index.php, но скачайте

Тем не менее, странно, что за исключением домашней страницы все остальные страницы (включая отдельную страницу сообщения, страницы wp-admin, rss, превью темы и т. Д.) Работают нормально.

И у меня есть другой сайт Wordpress, размещенный на той же машине, отлично работает.

Вот файл .htaccess: (это на самом деле то, что сделал Wordpress)

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>  
# END WordPress 

И вот что я получил от access.log

207.46.92.16 - - [30/Dec/2010:16:17:56 +0800] "GET /index.php HTTP/1.1" 301 - "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.1.4322; .NET CLR 3.0.04506; SLCC1; InfoPath.3; .NET4.0C; .NET4.0E; MS-RTC LM 8)" 

На самом деле я сделал следующее, но без изменений:

  1. Отключить mod_rewrite Скопировать
  2. .htaccess из правильного словаря сайт

Неужели кто-нибудь сталкивался с чем-то вроде этого или имел к этому ключ?

Я также открываю ссылку здесь. попробуйте следующее:

  1. http://www.weigblog.com/
  2. добавления index.php (жаль, что я не могу опубликовать более 1 ссылка)
  3. добавления testphp.php
+0

Что содержит загруженный файл? –

+0

Содержимое загруженного файла совпадает с индексом index.php – WeiG

ответ

0

Если одна вещь наверняка, файл htaccess не имеет к этому никакого отношения.

Возможно ли, что ваш сервер не знает, что PHP является фактическим приложением? Если у вас нет настройки обработчиков (AddType application/x-httpd-php .php), или PHP-модуль не загружается Apache, расширение .php абсолютно ничего не значит для сервера.

Попробуйте загрузить еще один файл, называемый, скажем, info.php, с одной строкой в ​​нем: <?php phpinfo(); ?> и открыть его в браузере. Если это сработает, PHP не является проблемой. Если это не так, вот где ваша проблема.

+0

Это странная вещь. Я создал новый файл под названием test.php, содержащий только «», Сохраненный в том же каталоге с index.php. Test.php работает, но index.php этого не делает. – WeiG

+0

Это длинный снимок, но вы используете какие-либо плагины? Если да, как насчет их отключения? – maus

+0

Второй вопрос: У вас также есть файл index.html в корне? Если да, удалите его и повторите попытку. И третий: работает ли индекс, когда вы пытаетесь открыть его по имени (например, 'http: // site.tld/index.php')? Если да, то 'DirectoryIndex' отсутствует' index.php' – maus

0

У меня была такая же проблема. Я решил переименовать веб-папку в/var/www/в другое имя и теперь отлично работает.

Надеюсь, мой опыт будет полезен для кого-то.

Смежные вопросы