3
要帶有特定擴展名的文件相匹配,我們可以利用這一點:如何匹配nginx中擴展少的文件的位置?
位置〜*(PHP | JSP | CGI | PL | PY)$ {}
和預期的所有作品...。?
但是,如果我們有沒有任何擴展名的文件,我怎麼能匹配他們在'位置'塊?!
要帶有特定擴展名的文件相匹配,我們可以利用這一點:如何匹配nginx中擴展少的文件的位置?
位置〜*(PHP | JSP | CGI | PL | PY)$ {}
和預期的所有作品...。?
但是,如果我們有沒有任何擴展名的文件,我怎麼能匹配他們在'位置'塊?!
.*.(php|jsp|cgi|pl|py)?$
匹配任何數目的後跟另一個字符(.
)和零或所列擴展(...)?
之一occurence字符(.*
)的正則表達式。由於?
,此正則表達式應該已經匹配沒有擴展名的文件,因爲您可以驗證here。澄清評論
後
更新您可以使用正則表達式[^.]+(?!(php|jsp|cgi|pl|py))$
這意味着匹配多個字符不得爲週期,不跟上市推廣。
月2日更新
沒有語法不匹配正則表達式。相反, 匹配目標正則表達式,並分配一個空塊
所以,你想每一個具有擴展名的文件相匹配,並指定空塊。它類似於你原來的正則表達式,但沒有?
,你最好在擴展之前逃離點,否則它意味着任何字符。
location ~ .*\..+$ {}
你好,也許我還不夠清楚。 我想要的是匹配現在只'擴展少文件! –
@MarkWurkz我編輯了答案。 – halex
如果我想要一些與衆不同的東西...忘了這個例子,我提供了'擴展',我想忽略'任何文件'有擴展名,只接受擴展名較少的文件,我怎麼能做到這一點? –