Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
url rewrite.htaccess有问题_.htaccess_Mod Rewrite_Url Routing - Fatal编程技术网

url rewrite.htaccess有问题

url rewrite.htaccess有问题,.htaccess,mod-rewrite,url-routing,.htaccess,Mod Rewrite,Url Routing,我正在用php编写一个mvc框架,并尝试使用以下模式重写URL: www.example.com/contact/send/ 读作 www.example.com/index.php?url=contact/send/ 因此,我可以分解$_GET['url']变量并将其用于fw路由 它在几乎任何情况下都能很好地工作,唯一的问题是,当我尝试使用一个同样是文件夹的字符串ak'admin',而不带尾随斜杠时,url会暴露变量 像这样: www.example.com/admin/-好的,url保持不变

我正在用php编写一个mvc框架,并尝试使用以下模式重写URL:

www.example.com/contact/send/

读作

www.example.com/index.php?url=contact/send/

因此,我可以分解$_GET['url']变量并将其用于fw路由

它在几乎任何情况下都能很好地工作,唯一的问题是,当我尝试使用一个同样是文件夹的字符串ak'admin',而不带尾随斜杠时,url会暴露变量

像这样:

www.example.com/admin/-好的,url保持不变

www.example.com/admin-问题出在这里,url将浏览器重定向到:

www.example.com/admin/?url=admin

$\u GET['url']已设置,在这两种情况下都正常工作,但我不想公开'url=admin'

有办法吗

谢谢

.htaccess是:

重新启动发动机

重写cond%{SCRIPT_FILENAME}-F 重写cond%{REQUEST_FILENAME}-f

重写cond%{SCRIPT_FILENAME}-d RewriteCond%{REQUEST_FILENAME}-d

重写规则^(.*)$index.php?url=$1 [PT,L]


我想你错过了一个!:

RewriteCond %{REQUEST_FILENAME} !-d
当它不是目录时,您要重写它

编辑:或者可能是一个例外

RewriteCond %{REQUEST_URI} !^/admin/?