我想截取两个特定目录的HTTP请求:
/mydir/
/thisdir/
每当有人请求其中一个时,应分别为/mydir.html
和/thisdir.html
提供服务。所有其他目录应该正常运行。
我可以让它适用于所有目录:
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)/ $1.html [QSA]
但是我尝试让它只为两个特定的目录工作:
RewriteCond %{REQUEST_FILENAME} ^/(mydir|thisdir)/$
RewriteRule ^(.+)/ $1.html [QSA]
或
RewriteCond %{REQUEST_URI} ^/(mydir|thisdir)/$
RewriteRule ^(.+)/ $1.html [QSA]
导致显示目录索引。
答案 0 :(得分:2)
您可以使用此规则:
RewriteCond %{THE_REQUEST} /(mydir|thisdir) [NC]
RewriteRule ^(mydir|thisdir)/?$ $1.html [L,NC]
答案 1 :(得分:0)
这个怎么样?
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(mydir|thisdir)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}$1.html [R=301]