2014-10-03 143 views
0

我终于设法让我的web服务器启动并运行python。 我现在可以输入指向python脚本的直接url并且正在执行。通过链接在web服务器上执行python脚本

我写了一个脚本,生成一个html页面并返回它 - 工作;并且如果字符串保存为html并打开,它将完全按照我的需要显示。 不过,我想,如果用户浏览到这显示在导航菜单中的“数据库”链接

 <nav> 
      <ul class="main-nav"> 
       **<li><a href="#">Database</a></li>** 
       <li><a href="#">About</a></li> 
       <li><a href="admin.html">Admin</a></li> 
      </ul> 
     </nav> 

我想剧本,当用户点击菜单链接上执行,以显示此页但我不希望用户看到到python脚本的实际链接。 也就是说链接应该显示localhost/database.html,但脚本应该被执行并且返回的内容应该被显示。

我希望这是有道理的 - 任何帮助表示赞赏

+0

你意识到你可以设置一个web服务器来使用一个文件夹内的默认文件,所以你可以将它移动到一个名为database的文件夹中,而不是指向localhost/database.html的链接,并且删除扩展名,例如localhost /数据库,这是你可以把你的脚本文件在那里,让服务器执行它,但URL永远不会告诉用户它是什么类型的文件。你使用什么样的网络服务器? – 2014-10-03 09:45:44

+0

@JamesKent HI James,感谢您的及时回复。我正在使用Apache 2 Web服务器。这听起来像是一种可能性,但那意味着如果我在其他地方移动页面,我必须确保Web服务器设置为使用默认文件!理想情况下,如果可能的话,我希望所有这些都发生在html方面。不过,你有没有机会知道在哪里/如何设置它?它只是httpt.cof(或其他所谓的)中的“另一个”设置?谢谢 – T1M 2014-10-03 09:53:40

+0

不幸的是我没有apache的经验,我只看过微软的IIS和内置的服务器在Python中,但这个链接似乎做你想在第二个答案:http:// stackoverflow。 com/questions/6874480/default-file-for-apache-localhost – 2014-10-03 10:00:48

回答

1

达到你想要什么,最简单的方法(最终用户看不到它不是一个HTML文件)将文件移动到一个文件夹,并配置服务器执行和服务器当用户导航到该文件夹​​中文件的结果,也就是将文件移动到一个文件夹,名为:

/database 

,然后改变你的链接指向那里,然后配置Web服务器接受python文件名作为默认文件,在你的情况下运行Apache应该是这样的:

查找Apache配置文件DirectoryIndex指令(httpd.conf文件),或者将其添加到.htaccess文件,并修改它看起来像这样,如果你想限制你的默认索引文件只是index.html的:

DirectoryIndex index.html 

您还可以包括更多的资源,他们会在给定的顺序使用,例如

DirectoryIndex index.html index.php 

将首先显示index.html文件如果双方的index.html和index.php文件存在。

如果您对httpd.conf文件进行了更改,请不要忘记重新启动Apache。

这种方式进行本地测试时,你会看到的网址是:

localhost/database 

,并避免将任何扩展就可以了,这是简单的,试图做一些的重定向。

亲自使用做类似于执行查询的页面时,我倾向于称它们为process以表明它们在我正在处理它时实际上做了某些事情,并且我调用索引时会静态文件(除非有多个文件在这个位置),这不是必需的,只是我个人的偏好,但它有助于保持配置的简单性,因为只有那么多的名称必须添加到默认列表中。

相关问题