[英]Pretty URL for Perl CGI
我只是從使用PHP轉換為Perl來托管API命令的腳本。
作為php,.htaccess如下所示:
RewriteRule ^api/?$ api.php [L]
RewriteRule ^api/?([a-zA-Z0-9_-]{1,})?/?$ api.php?command=$1 [QSA,L]
RewriteRule ^api/?([a-zA-Z0-9_-]{1,})?/?([a-zA-Z0-9_-]{1,})?/?$ api.php?command=$1&key=$2 [QSA,L]
最終結果執行時使用了預期的效果,例如使用http://example.com/api/command/key
(其中api是腳本名稱)之類的網址。
切換到Perl,訪問http://example.com/api
重定向到http://example.com/usr/lib/cgi-bin/api.pl
,這一點都不起作用,而且看起來也很丑。 我已經嘗試過使用.htaccess
和serve-cgi-bin.conf
,但是對我來說沒有任何效果。 只要文件夾名稱和擴展名不出現在url中,我不需要將api.pl
放入哪個文件夾都沒有關系。
如何獲得所需的網址?
您只需在api.php
中用cgi-bin/api.pl
替換api.php
。
RewriteRule ^api/?$ cgi-bin/api.pl [L]
RewriteRule ^api/?([a-zA-Z0-9_-]{1,})?/?$ cgi-bin/api.pl?command=$1 [QSA,L]
RewriteRule ^api/?([a-zA-Z0-9_-]{1,})?/?([a-zA-Z0-9_-]{1,})?/?$ cgi-bin/api.pl?command=$1&key=$2 [QSA,L]
您可以使用htaccess.madewithlove.be之類的工具來測試您的規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.