不正确的重写处理

时间:2015-06-20 11:18:11

标签: php .htaccess mod-rewrite

我的网站文件结构如下

/application
/public
      defaultfile.php
      /static
.htaccess

.htaccess包含:

DirectorySlash Off
RewriteEngine On
RewriteBase /
RewriteOptions AllowNoSlash

RewriteRule ^(.*)$ public/$1
RewriteRule ^(.*)$ public/defaultfile-Copy.php?url=$1 [QSA]

defaultfile.php包含:

<?php echo $_GET['url'];?>

当我请求一个像“/ blah / blah / 1234”这样的随机网址时,它被重写为public / defaultfile.php?url = public / blah / blah / 1234.Works罚款!

但是当请求是“/ static / blah / blah”时(请注意static是公共目录中的子目录),它会被重写为public / defaultfile.php?url = public / static /嗒嗒/等等/等等/等等

我无法理解额外“blah / blah”来自哪里?我只想知道这个问题的逐步答案,而不是避免这种情况。

0 个答案:

没有答案