我有一个PHP文件位于一个文件夹(“www.mysite.com/folder/test.php”)中,它接受一个get参数(str)并让我们说print。为了使URL友好,我正在尝试重写它:
RewriteBase /
RewriteRule ^folder/(.*)$ folder/test\.php?str=$1&%{QUERY_STRING}
重写规则工作正常,问题是当我需要访问该文件夹的子文件夹时。例如,如果test.php中的图像位于www.mysite.com/folder/images/img.jpg,根据上述规则,它需要images / img.jpg并将其传递给php文件。 / p>
如何防止这种情况?
答案 0 :(得分:2)
看看:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
应解决您的问题 - 这只是确保所请求的URL既不是服务器上的实际文件也不是目录。
答案 1 :(得分:1)
当你告诉它“任何角色”时,它认为你真的是指任何角色。
RewriteRule ^folder/([^/]*)$ folder/test\.php?str=$1&%{QUERY_STRING}