[英]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行為如下:
所有請求(資源,圖像,CSS,js等除外)都應重定向到/router.php,並保留查詢字符串。 我不需要REQUEST_URI作為查詢字符串,因為無論如何它都可以通過$_SERVER['REQUEST_URI']
。
所有直接訪問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.