Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
.htaccess htaccess重定向到其他目录中的文件_.htaccess_Url_Url Rewriting - Fatal编程技术网

.htaccess htaccess重定向到其他目录中的文件

.htaccess htaccess重定向到其他目录中的文件,.htaccess,url,url-rewriting,.htaccess,Url,Url Rewriting,如果在请求的URL中找不到请求的文件,如何从另一个目录(使用.htaccess)加载该文件 例如: 请求::mysite.com/samples/image\u requested.jpg(不存在) 输出:mysite.com/samples/missing/image\u requested.jpg(在浏览器中不显示确切的url) 我尝试了这个,但它给了我一个500内部错误: RewriteEngine On RewriteCond %{REQUEST_URI} ^/samples/ Rewr

如果在请求的URL中找不到请求的文件,如何从另一个目录(使用
.htaccess
)加载该文件

例如:

请求:
mysite.com/samples/image\u requested.jpg
(不存在)

输出:
mysite.com/samples/missing/image\u requested.jpg
(在浏览器中不显示确切的url)

我尝试了这个,但它给了我一个
500内部错误

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/samples/
RewriteCond %{REQUEST_URI} !^/samples/missing/
RewriteRule ^samples/(.+)$ /samples/missing/$1

以下是jpg、png和gif文件的示例。它将始终显示请求的URL(/samples/file.jpg),而不是真实的URL(/samples/missing/file.jpg):


我不知道如何创建条件,或者我不明白你的想法…但是你可以重定向它:RewriteRule^/samples/missing/image_requested.jpg$/samples/image_requested.jpg-你可以尝试替换“(.+)$”来代替这个“([^.]+)$”谢谢你的回复。“([^.]+)$”不会开火。这给了我404个错误来考虑在这个论坛上发布你的问题-重写cond%{HTTP_HOST}^/samples/$RewriteCond%{HTTP_HOST}^\/samples/missing/RewriteRule^(.*)$/samples/missing/$1幸运的是,这一切都没有改变。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule samples/(.*\.(jpg|png|gif)) samples/missing/$1 [L]