我有以下.htaccess
:的RewriteCond得到滿足在測試,但在實踐中沒有
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [C]
RewriteCond %{REQUEST_FILENAME} ^(.*).php$
RewriteRule ^(.*)$ /index.php [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
我想這首先重新路由一切HTTPS。
然後我想檢查用戶是否正在訪問一個PHP文件,如domain.com/pages/page/a.php
並將其路由到/index.php
。
然後最後我想要的一切,不是那一個文件或目錄路由至index.php
如domain.com/my-fun-page
我認爲第一個和最後一個塊是正確的,但由於某些原因,當我在htaccess tester運行測試成功運作。但是,當我在我自己的服務器上運行它時,它仍然允許我訪問domain.com/pages/page/a.php
。
我怎樣才能找出原因,或者我做錯了什麼?