apache - 如何在 VirtualHost(Apache) 下使用 Perfect(Swift)?
问题描述
我在 Ubuntu 操作系统上有 Apache。我的 Ubuntu 使用亚马逊 Lightsail。我设置了一个 VirtualHost 以便像这样使用 Perfect Web 服务器
<Location "/PerfectTemplate">
ProxyPass http://localhost:8182
ProxyPassReverse http://localhost:8182
</Location>
我正在尝试从 HTML 进行 POST 操作,但程序引用了 Apache
var try_post_action = """
<form action="./tow" method="post">
//<form action="/tow" method="post">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
"""
解决方案
以下 Apache conf 片段
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) - [L,NS,H=perfect-handler]
和快速文件
import PerfectHTTP
import PerfectHTTPServer
func handler(request: HTTPRequest, response: HTTPResponse) {
response.setHeader(.contentType, value: "text/html")
response.appendBody(string: """
<form action="./PerfectTemplate/test" method="get">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
""")
response.completed()
}
let confData = [
"servers": [
[
"name":"localhost",
"port":8182,
"routes":[
["method":"get", "uri":"/", "handler":handler],
["method":"get", "uri":"/test", "handler":handler],
["method":"get", "uri":"/**", "handler":PerfectHTTPServer.HTTPHandler.staticFiles,
"documentRoot":"./webroot",
"allowResponseFilters":true]
],
"filters":[
[
"type":"response",
"priority":"high",
"name":PerfectHTTPServer.HTTPFilter.contentCompression,
]
]
]
]
]
do {
try HTTPServer.launch(configurationData: confData)
} catch {
fatalError("\(error)")
}
推荐阅读
- sql - 如何进行具有最大值的 group-concat 调用?
- c# - 从 C# 中的泛型类型中检索值
- vba - 宏不断崩溃 Excel
- sql - SQL 笛卡尔积
- amazon-web-services - 在 AWS cloudformation 模板中使用条件时如何管理资源依赖关系?
- python - Python:无法复制关于内存使用的测试
- c# - MVC 列表
组为每个项目创建 optgroup - graphql - 在 Apollo-Android 上发送空参数的突变
- r - R - 使用带有网状的 patsy.dmatrices()
- python - 如何将 numpy 数组中的分类数据加载到 Indicator 或 Embedding 列中?