0
我在嘗試將所有調用路由到一個目錄到該目錄中的一個腳本時遇到了mod_rewrite問題。這個簡單的規則是工作在Linux上:Mod重寫在Mac OSX中Sierra
重寫規則* api.cgi
在錯誤日誌中對這個操作系統,爲了這個,我得到「重寫規則:不能編譯正則表達式‘*’」。
我已經嘗試了一些其他的事情,並且mod rewrite正在處理一些匹配,但只對文件名而不是目錄路徑。
例如, RewriteRule。* api.cgi - 將任何帶有文件名的文件路由到api.cgi,這證明它正在工作,但是我想將/ api/config /路由到api.cgi。我似乎只能得到/api/config/something.something實際上強制重寫 - 即它需要一個文件名。
任何想法?我從字面上想要把這個目錄中的所有東西都路由到api.cgi,不管它有多少深度或是否在文件結尾處有一個文件名。
謝謝, 馬特
謝謝,但仍然是相同的問題。 RewriteRule^api.cgi和RewriteRule。* api.cgi都會使用a重定向任何東西。在其中,但不是如果它只是一個文件路徑。所以/api/config.html會重定向/ api/config。會重定向,但/ api/config不會。給出的錯誤信息是標準404 在此服務器上未找到請求的URL /〜用戶名/ cgi-bin/api2/config。 很顯然,url不存在,但它應該重定向而不是404。 –
不,在正則表達式中。*:星號表示前面元素的零次或多次出現。和'.'匹配任何單個字符。 https://en.wikipedia.org/wiki/Regular_expression – Croises
我認爲問題出在你的cgi上 – Croises