我正在尝试将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。
答案 0 :(得分:0)
如果您通过DirectoryIndex定义服务器应该提供index.html
(如果存在),并且您访问了网址/?page_id=16
,则会传递带有该参数的index.html
。参数什么都不做 - 它是静态HTML。
您不能同时使用index.html
和index.php
作为/
的DirectoryIndex,并希望它可以正常工作。
将代码添加到index.php
,如果没有给出参数,则返回index.html
的内容。 readfile('index.html'); exit();
可能已经足够了。仅使用index.php
作为DirectoryIndex。
答案 1 :(得分:0)
试试这段代码:
RewriteEngine On
RewriteRule ^$ /index.html [L,R=301]