Php 帮助.htaccess文件夹重写

Php 帮助.htaccess文件夹重写,php,image,.htaccess,uploader,Php,Image,.htaccess,Uploader,我想为我网站上的图像上传程序做一个.htaccess重写,但是对于我尝试过的所有教程,我都无法让它工作 目前,我的代码将图像上载到文件夹: http://www.example.com/server/php/files/jkgh4f54.jpg 我想重写它,这样当您转到此URL时:http://www.example.com/jkgh4f54.jpg它显示的是上述位置的图像 有什么想法吗?正如我提到的,到处都有很多关于类似的东西的教程,但我至今还没能使它们适应我的工作 当前访问权限: Rewri

我想为我网站上的图像上传程序做一个.htaccess重写,但是对于我尝试过的所有教程,我都无法让它工作

目前,我的代码将图像上载到文件夹:
http://www.example.com/server/php/files/jkgh4f54.jpg

我想重写它,这样当您转到此URL时:
http://www.example.com/jkgh4f54.jpg
它显示的是上述位置的图像

有什么想法吗?正如我提到的,到处都有很多关于类似的东西的教程,但我至今还没能使它们适应我的工作

当前访问权限:

RewriteEngine On
RewriteCond %(REQUEST_FILENAME} !-f [OR]
RewriteCond %(REQUEST_FILENAME} !-d
RewriteRule ^[a-zA-Z0-9]+\.(jpe?g|png|gif|bmp)$ /server/php/files/$0 [L]
RewriteRule ^([a-zA-Z0-9]+)$ index.php?code=$1 //For URL Shortener
ErrorDocument 404 http://localhost/site.com/404.php
尝试:


当用户访问
http://example.com/h3h2js.jpg
,他们将看到
http://example.com/server/php/files/h3h2js.jpg
,但浏览器中的URL将保持不变:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[a-zA-Z0-9]+\.(jpe?g|png|gif|bmp)$ /server/php/files/$0 [L]

我已经在Windows上干净安装的XAMPP上彻底测试了这段代码。图像名称必须仅包含任意大小写的字母数字字符(a-z、a-z、0-9),并且必须以jpg、jpeg、png、gif或bmp文件扩展名结尾。如果请求的图像文件已存在于站点根目录中,则不会进行重写

听起来像是要重定向,而不是重写。关于如何做到这一点,有很多问题。有没有理由在本地副本(XAMPP)上不起作用?不幸的是,今晚我没有权限在实际域上测试这一点,但RewriteRule^(.*)(jpg | png | gif)$产生了一个错误500。(http://也在里面,但目前无法在评论中显示出来)。很遗憾,它在实时环境中没有工作。只是传递给我的404ErrorDocument处理程序。我会看一看(我还没有实际测试它)。顺便说一句,你可以在评论中发布代码,就像你把它放在两个回帖之间一样。我已经辛苦了,终于想出了一个解决方案。请参阅我的更新答案,了解一些您可以使用的精简、高效的代码。首先,此代码是为在站点根目录中使用而设计的(例如
http://localhost
http://dragit.in
。我没有在子目录中测试过它。您认为它是
%{REQ
(我必须手动复制代码)是正确的;我已经更新了我的答案不幸的是,这在实时环境中也不起作用。哦!我感觉我们更接近了!您的编辑产生了一个重定向循环:该死!错误310(net::ERR_太多重定向):重定向太多。相同。你有我可以查看的实时版本吗?我会在一两天内查看,很抱歉,我正在从头开始重建web服务器的过程中出现了延迟。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[a-zA-Z0-9]+\.(jpe?g|png|gif|bmp)$ /server/php/files/$0 [L]