我有一个遗留程序,我需要使用扩展名.cgi(search.cgi)运行,但我已经使用PHP重写了这段代码。
如何告诉Apache引用search.cgi但让它运行search.php?
答案 0 :(得分:3)
使用apache的url重写mod。 像
这样的东西RewriteEngine on
RewriteRule ^/search.cgi$ /search.php [QSA]
您可以通过ixsearch.cgi更改search.cgi 或者更一般
RewriteEngine on
RewriteRule ^/([a-z0-9_\-]+)\.cgi$ /$1.php [NC, QSA]
这将在yourdomain.com/{some_scriptname}.php中重写任何url yourdomain.com/@some_scriptname}.cgi(并且由于QSA子句而重写请求GET参数) 脚本名称可以包含a和z之间的任何字母或数字或字符,如 - 或_(前番茄汁)。此外,它不区分大小写(感谢NC条款)
答案 1 :(得分:1)
使用mod_rewrite将search.cgi的请求重写为search.php。
答案 2 :(得分:0)
只需将其作为常规CGI编写,就像使用PHP的命令行版本一样运行,以便它像常规CGI一样运行。