0

我正在尝试在我的 .htaccess 文件中 index.php设置优先级index.html (但仅用于登录页面) ,它工作正常

但因为?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。

4

2 回答 2

0

如果您通过 DirectoryIndex 定义如果服务器index.html存在则服务器应交付,并且您访问 url /?page_id=16,则index.html使用该参数交付。并且该参数什么都不做 - 它是静态 HTML。

您不能同时使用index.htmlindex.php用作 DirectoryIndex/并期望它能够正常工作。

向其添加代码,如果没有给出参数,则index.php返回的内容。可能就够了。仅用作 DirectoryIndex。index.htmlreadfile('index.html'); exit();index.php

于 2013-07-17T12:06:55.140 回答
0

试试这个代码:

RewriteEngine On
RewriteRule ^$ /index.html [L,R=301]
于 2013-07-17T12:07:51.373 回答