我在dir1中有这个htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ missingFileHandler.php?location=%{REQUEST_FILENAME} [L]
当我访问时:
http://example.com/dir1/dir2/dir3/file.txt
$ _GET ['location']的值很好:
/path-to-www/dir1/dir2/dir3/file.txt
但是如果某些dir1,dir2或dir3不存在,我就不会得到完整路径,例如:访问时:
http://example.com/dir1/missingdir2/dir3/file.txt
$ _GET ['location']的值缺少其余部分:
/path-to-www/dir1/missingdir2
如何在两种情况下获得完整路径?
Note:
它不需要是完整的服务器路径或完整的URL。
我真正感兴趣的是这部分:dir1/dir2/dir3/file.txt
答案 0 :(得分:1)
您可以使用以下内容:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ missingFileHandler.php?location=$1 [L]