我正在努力在我的.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。
答案 0 :(得分:1)
您可以将此规则用于路由:
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]