2013-07-17 3 views
0

я пытаюсь установить приоритет index.php к index.html(но только для целевой страницы) в моем файле .htaccess, который работает отличноприоритет index.html для index.php в .htaccess

но для ?page_id=16 его также отображать один и тот же index.html страницу, что я не хочу

RewriteEngine On 
RewriteBase/

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

DirectoryIndex index.html index.php 

RewriteRule . /index.php [L] 

ПРИМЕЧАНИЕ: я использую WordPress.

ответ

0

Попробуйте этот код:

RewriteEngine On 
RewriteRule ^$ /index.html [L,R=301] 
+0

Это не решает проблему. «index.html» не отображается в запрошенном URL-адресе. – Sven

+0

Хорошо. Я отредактировал свой ответ. Я не очень хорошо понял. Сожалею. Это хорошо ? –

+0

А теперь как насчет файла 'index.html', который должен быть представлен в качестве главной страницы? :) – Sven

0

Если определить с помощью DirectoryIndex, что сервер должен доставить index.html, если она есть, и вы получаете доступ к URL /?page_id=16, то index.html с этим параметром поставляется. И параметр ничего не делает - это статический HTML.

Вы не можете использовать ОБА index.html и index.php как DirectoryIndex для / и ожидать его работы.

Добавить код в index.php, который возвращает содержимое index.html, если параметр не указан. readfile('index.html'); exit(); может быть достаточно. Используйте только index.php как DirectoryIndex.