php伪静态后不能访问html,php伪静态后html不能访问怎么办
php偽靜態后html不能訪問的解決辦法:首先判斷文件是否存在;然后設置存在則不rewirte,不存在且符合規則才rewrite;最后修改htaccess文件即可。
推薦:《PHP視頻教程》
具體問題:
PHP偽靜態后不能訪問純html文件
.htaccess文件
RewriteEngine on RewriteRule index.html$ index.php RewriteRule art.html$ project.php?file=art RewriteRule music.html$ project.php?file=music RewriteRule dance.html$ project.php?file=dance RewriteRule radio.html$ project.php?file=radio RewriteRule director.html$ project.php?file=director RewriteRule perform.html$ project.php?file=perform RewriteRule flight.html$ project.php?file=flight RewriteRule ([a-zA-Z]+)-([0-9]+).html$ page.php?pageid=$2 RewriteRule ([a-zA-Z]+)-([0-9]+)-([0-9]+).html$ page.php?pageid=$2&info=$3 RewriteRule ([a-zA-Z]+)-([0-9]+)-rules-(.*)-([a-zA-Z]+).html$ page.php?pageid=$2&info=$3&file=$4 RewriteRule ([a-zA-Z]+)-([0-9]+)-([0-9]+)-([a-zA-Z]+).html$ page.php?pageid=$2&menuid=$3&file=$4 RewriteRule ([a-zA-Z]+)-([0-9]+)-([a-zA-Z]+).html$ page.php?pageid=$2&file=$3 RewriteRule ([a-zA-Z]+)-([0-9]+)-([a-zA-Z]+)-list([0-9]+).html$ page.php?pageid=$2&file=$3&page=$4 RewriteRule ([a-zA-Z]+)-([0-9]+)-([0-9]+)-([a-zA-Z]+)-list([0-9]+).html$ page.php?pageid=$2&menuid=$3&file=$4&page=$5 RewriteRule ([a-zA-Z]+)-([0-9]+)-([0-9]+)-(.*)-([a-zA-Z]+).html$ page.php?pageid=$2&menuid=$3&artid=$4&file=$5
而且我都已經把 RewriteRule index.html$ index.php 這句去掉了 但打開的時候 還是反問偽靜態
我現在要訪問網站里的純靜態HTML文件,同時又要求PHP的偽靜態也能訪問,怎么做?
解決辦法:
應該先判斷文件是否存在,存在則不rewirte。不存在且符合規則才rewrite
例如:文件或目錄不存在則rewrite到index.php,否則直接讀取存在的文件。
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
總結
以上是生活随笔為你收集整理的php伪静态后不能访问html,php伪静态后html不能访问怎么办的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone 14 Pro的成本是多少i
- 下一篇: php拼接多个insert,php –