Javascript 自己的图像托管页面:如何始终打开一个html文件,但图像在url中给出?

Javascript 自己的图像托管页面:如何始终打开一个html文件,但图像在url中给出?,javascript,html,regex,.htaccess,Javascript,Html,Regex,.htaccess,我目前正在自己的图像托管网站上工作: 一切正常,但我想做些改变 当前,当从共享映像打开链接时,它只会打开映像。我想打开另一个带有图像的html站点。图像应该是url中给出的图像 例如: 访问img.baeni.de/u/123.png将打开construct.html文件和集合,以便url中给出的图像将显示在该页面上 重要提示:URL仍然应该是img.baeni.de/u/123.png&而不是img.baeni.de/construct.html 我不想被人用勺子喂,但我想听听你们如何处理这样

我目前正在自己的图像托管网站上工作:

一切正常,但我想做些改变

当前,当从共享映像打开链接时,它只会打开映像。我想打开另一个带有图像的html站点。图像应该是url中给出的图像

例如: 访问img.baeni.de/u/123.png将打开construct.html文件和集合,以便url中给出的图像将显示在该页面上

重要提示:URL仍然应该是img.baeni.de/u/123.png&而不是img.baeni.de/construct.html

我不想被人用勺子喂,但我想听听你们如何处理这样的事情

致以最良好的祝愿,
贝尼

我不确定,但这可能对你有用

将以下内容放在u/文件夹(或者根文件夹)的.htaccess中

RewriteCond%{SCRIPT\u FILENAME}-D
重写cond%{SCRIPT_FILENAME}-F
重写规则^u/(*)$construct.html?img=$1[QSA]

当访问者到达img.baeni.de/u/123.png时,web服务器将实际为页面img.baeni.de/construct.html?img=123.png提供服务

您可以像这样使用javascript来获取URL:

// Will get /u/123.png
  var urlstr = window.location.pathname;

// Will turn it into 123.png
  var imgstr = str.split("/").pop();
要在页面加载后加载图像src,请创建一个容器(如
div
)来保存图像。然后window.onload可以用图像或错误图像填充此容器

<div id="image"></div>

<script>
  // On page load call an immediately invoked function to load the image
  window.onload(

    function(){

      // Will get /u/123.png
      var urlstr = window.location.pathname;

      // Will turn it into 123.png
      var imgstr = "/gfx/" + str.split("/").pop();

      // Error Image
      var errorImg = '/gfx/error.png';

      // Create the image in the div container
      document.getElementById('image').innerHTML="<img src='" + imgstr + "' onerror='this.onerror=null;this.src=\"" + errorImg + "\"'>";

    }()
  );
</script>

//在页面加载时调用一个立即调用的函数来加载图像
window.onload(
函数(){
//将获得/u/123.png
var urlstr=window.location.pathname;
//将其转换为123.png
var imgstr=“/gfx/”+str.split(“/”).pop();
//错误图像
var errorImg='/gfx/error.png';
//在div容器中创建映像
document.getElementById('image').innerHTML=“”;
}()
);

.htaccess redirect或mod_rewrite如果我正确理解了您的问题,可能就可以了。只是一个想法——肯定不是一个完整的答案。我也考虑过这个问题。似乎是一个很好的解决方案的网址!关于如何将图像(在示例123.png中)放入html文件的问题。我的意思是我只想为所有链接使用一个html文件,所以我不能直接在html文件中引用图像路径,因为我需要为每个图像创建一个文件&这会使服务器崩溃。这就是.htaccess可以做的。它可以从URL中取出变量,并提供“不同”的页面。URL不会更改,服务器上只需要一个文件。检查:我根本不擅长.htaccess——所以我对这个问题没有帮助。但这是你应该走的路线。本质上,.htaccess文件将读取URL并“在幕后”重写它。因此,访问任何img.baeni.de/u/#####的访问者都将得到construct.php?id=###。访问者只会看到他们键入的第一个URL,而不会看到构造页面URL。发生这种情况时,“幕后”的评论不是为了进行广泛的讨论;这段对话已经结束。