簡體   English   中英

.htaccess,檢查RewriteRule正則表達式是否以文件或目錄形式存在

[英].htaccess, check if RewriteRule Regex exists as a file or dir

為了檢查文件是否存在eixists(不存在),我將編寫類似的內容

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((en|es|de)/)?([a-z0-9\+_-]+)/?$ something.php?hl=$2&seoq=$3 [QSA,L,NC]

這很好用, 但是如何根據 RewriteRule 的結果變量檢查文件是否存在。

-

例:

RewriteCond $3 -f (???)
RewriteRule ^((en|es|de)/)?(.*) $3?hl=$2 [QSA,L,NC]

-

它會/應該做什么?

每當在地址欄中調用文件/ en / subdir /something.jpg時,服務器應查找/ subdir /something.jpg是否存在(請注意:沒有子文件夾/ en!)

目錄也應如此。 結論:如果$ 3 [=(。*)在RewriteRule中]作為文件或目錄存在,則應顯示此文件或目錄,否則忽略。 如何才能做到這一點?

嘗試:

RewriteCond %{REQUEST_URI} ^((en|es|de)/)?(.*)
RewriteCond %{DOCUMENT_ROOT}/%3 !-f
RewriteCond %{DOCUMENT_ROOT}/%3 !-d
RewriteRule ^((en|es|de)/)?([a-z0-9\+_-]+)/?$ something.php?hl=$2&seoq=$3 [QSA,L,NC]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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