簡體   English   中英

Perl CGI的漂亮網址

[英]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 ,這一點都不起作用,而且看起來也很丑。 我已經嘗試過使用.htaccessserve-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM