我想做的是提供一个文件,例如“ boat-repair”,并让网址读取allservicemarine.com/boat-repair/electrical-system-repair 到目前为止,我发现的所有内容似乎都引用了PHP文件,因为使用html文件可以实现此过程,如果可以的话,该如何实现?
此代码:
function arrayOfObjects() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('DocData');
var rg=sh.getDataRange()
var vA=rg.getValues();
var lA=vA[0];
var rA=[];
for(var i=0;i<vA.length;i++) {
var rObj={};
for(var j=0;j<vA[i].length;j++) {
rObj[lA[j]]=vA[i][j];
}
rA.push(rObj);
}
return rA;
}
function displayArray(rA) {
var html="<style>td,th{border:1px solid black;}</style><table>";
for(var i=1;i<rA.length;i++) {
if(i==1) {
html+=Utilities.formatString('<tr><th>%s</th><th>%s</th><th>%s</th><th>%s</th></tr>',rA[i].project,rA[i].type,rA[i].weight,rA[i].first);
}else{
html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',rA[i].project,rA[i].type,rA[i].weight,rA[i].first);
}
}
html+='</table>';
var userInterface=HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModelessDialog(userInterface, 'My Object');
}
function runOne() {
displayArray(arrayOfObjects());
}
当您输入allservicemarine.com时将提供文件 我尝试将目标文件放在一系列子目录中,希望目录名称显示在地址栏中,但这仍会拉出目标文件。我一直在寻找很多时间来尝试寻找解决方案,如果有人能指出正确的方向完成任务,我将不胜感激。
答案 0 :(得分:0)
这是我想出的有效代码:
RewriteEngine On
RewriteRule ^/?$ /boat-repair/electrical-system-repair [NC]
RewriteRule ^boat-repair/electrical-system-repair/?$ /index.html [NC]
第一个规则告诉服务器启动:输入根目录后,进行boat-repair / electrical-system-repair。
第二条规则告诉服务器是否匹配以下模式:boat-repair / electrical-system-repair以提供index.html
在最后一步中加载的文件(index.html)可以命名为任意名称,因为它将加载,但不会显示在地址栏中。
因此,在执行完这两个规则之后,您将获得:http://yoursitename.com/boat-repair/electrical-system-repair/在地址栏中,现在我只需要找出一种删除尾部斜杠的方法即可。
这些规则当然会放在htaccess文件中。
要使其正常工作,即使它们只是虚拟文件夹,也必须具有规则中命名的文件夹。如果要使用虚拟文件夹,请确保在每个名为“请勿删除此文件夹”的文件夹中放置一个文本文档,以便在六个月后不要查看这些空文件夹并将其删除!