簡體   English   中英

將所有內容重定向到一個文件,禁止直接訪問PHP文件

[英]Redirect everything to one file, disallow direct access to PHP files

我正在努力在.htaccess文件中創建一組規則,導致出現500個內部服務器錯誤。

RewriteRule ^(.*)\.php$ /router.php?rq=$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /router.php?rq=$1 [L,QSA]

我希望我的.htaccess行為如下:

  1. 所有請求(資源,圖像,CSS,js等除外)都應重定向到/router.php,並保留查詢字符串。 我不需要REQUEST_URI作為查詢字符串,因為無論如何它都可以通過$_SERVER['REQUEST_URI']

  2. 所有直接訪問PHP文件的嘗試,例如用戶輸入“ index.php”,也應重定向到router.php。

您可以將此規則用於路由:

RewriteCond %{REQUEST_URI} !/router\.php [NC]
RewriteRule \.php$ /router.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /router.php [NC,L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM