我正在使用有佈局頁面和內容頁面(.cntnt)的模板引擎。佈局頁面如下所示:設置選擇性重定向
<div id="body">
<?php
include_once(substr($_SERVER['REQUEST_URI'],1) . ".cntnt");
?>
</div>
這個想法非常簡單:用戶提出了一個請求,例如, mysite.com/pageone,並靜靜地重定向到佈局頁面,這裏佈局頁面添加了任何模板HTML,並在上面的行中插入了請求的頁面(pageone)。我遇到的問題是設置重定向。
我用我的.htaccess文件下面的代碼:
RewriteBase/
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !/Layout.php$
RewriteCond %{REQUEST_URI} (\.html|\.php|/)$
RewriteRule $ /Layout.php [L]
</IfModule>
ErrorDocument 404 /404.cntnt
這是爲了重定向PHP,HTML和擴展名的文件到佈局網頁請求,但否則返回原始文件。它沒有。請求.html
或.php
文件將返回404響應。例如。您在url欄中輸入www.mysite.com/pageone,然後按回車鍵,您將獲得一個404,但是如果您轉到佈局頁面或它們將加載的cntnt頁面。我究竟做錯了什麼?
您是否嘗試過將第二個RewriteCond合併到規則本身中? 'RewriteRule(\ .html | \ .php | /)$ /Layout.php [L]'你對我的看法很奇怪。 – IMSoP
@IMSoP是的,我已經這樣做了可讀性 – DividedByZero