我有一个像server.com/foo/bar/abc
我想看看URL的第一段是否是目录。我在.htaccess
RewriteCond %{REQUEST_URI} ^/([a-z0-9_]+)/(.*)
RewriteCond $1 -d # <- this does not work
RewriteRule . %1/index.html [L]
第1行和第3行正常工作。我能够将%1
与第一段匹配。但第2行什么也没做。
我也尝试了第2行的%1
,结果是一样的。整个规则失败,因为line是false。如果先前匹配的模式是目录,我该如何匹配?
答案 0 :(得分:1)
尝试:
RewriteCond %{DOCUMENT_ROOT}/$1 -d
RewriteRule ^([^/]+)/(.*) /$1/index.html [L]
答案 1 :(得分:0)
谢谢我让它像这样工作
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/([a-z0-9_]+)/?(.*)
RewriteCond %{DOCUMENT_ROOT}/%1 -d
RewriteRule ^.*$ app/index.html [L]