.htaccess中index.php的index.html优先级

时间:2013-07-17 12:01:56

标签: php .htaccess

我正在尝试将index.php的优先级设置为index.html (但仅适用于着陆页)在我的.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。

2 个答案:

答案 0 :(得分:0)

如果您通过DirectoryIndex定义服务器应该提供index.html(如果存在),并且您访问了网址/?page_id=16,则会传递带有该参数的index.html。参数什么都不做 - 它是静态HTML。

您不能同时使用index.htmlindex.php作为/的DirectoryIndex,并希望它可以正常工作。

将代码添加到index.php,如果没有给出参数,则返回index.html的内容。 readfile('index.html'); exit();可能已经足够了。仅使用index.php作为DirectoryIndex。

答案 1 :(得分:0)

试试这段代码:

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