好的,所以这是我的情况:
.xxx
)首先由我的翻译处理这是我到目前为止所尝试的内容(除了...... exec
通过PHP的混乱解决方案... lol):
的.htaccess
Options -ExecCGI -MultiViews -Includes -Indexes FollowSymLinks
Action lgm-cgi /usr/local/bin/lgm -c
AddHandler lgm-cgi .lgml
但是猜猜:不正在工作。
我正在请求www.mydomain.com/index.lgml
而不是返回已处理的文件,它会返回与文本完全相同的文件(index.lgml
)。
我做错了什么?有什么建议吗?
我不认为自己与服务器配置和.htaccess的专家有任何关系,所以我想这整件事情可能比我预期的要容易得多;所以请光一点! : - )
答案 0 :(得分:0)
您混合了两个不同的概念:处理程序和操作。您必须编写一个模块来将新处理程序引入httpd服务器。之后,您必须使用AddHandler或SetHandler将其与某些文件类型和/或URL空间实际绑定。
你必须仔细检查你的错误日志,但我怀疑在服务.lgml文件时,Apache发现,lgm-cgi处理程序不存在并且回退到default-handler,它为你的文件服务文本。
但是,你在这里使用Action是正确的。你只需要使用它有点不同。首先,您应该为您的文件引入自定义类型:
AddType application/lgml .lgml
...然后将该类型与您的操作相关联:
Action application/lgml /usr/local/bin/lgm -c
这应该有用。
编辑:正如kbro所指出的,Action
的第二个参数应该是CGI脚本。所以你必须写一个(简称/cgi-bin/lgm-handler.sh
),它会在引擎盖下调用/usr/local/bin/lgm
。然后你会把它引入服务器:
Action application/lgml /cgi-bin/lgm-handler.sh