你可以试试这个:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/forbiddenFolder [NC]
RewriteCond %{REQUEST_URI} /[\w]+\.(php|swf|f4v) [NC,OR]
RewriteCond %{REQUEST_URI} /[^.]+/?$ [NC]
RewriteCond %{REQUEST_URI} !forbidden\.php [NC]
RewriteRule .* /forbidden.php [L,NC]
内部映射
http://www.mysite.com/forbiddenFolder/subfolder
或者
http://www.mysite.com/forbiddenFolder/somefile.php
或者
http://www.mysite.com/forbiddenFolder/somefile.swf
或者
http://www.mysite.com/forbiddenFolder/somefile.f4v
到:
http://www.mysite.com/forbidden.php
对于永久和可见的重定向,替换[L,NC]
为[R=301,L,NC]
选项
使用经过修改的传入 URL 结构。
例如:
http://localhost/trafficticket.tv/Sites/public_html/forbiddenFolder/somefile.swf
用这个替换前一个规则块:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} /forbiddenFolder [NC]
RewriteCond %{REQUEST_URI} /[\w]+\.(php|swf|f4v) [NC,OR]
RewriteCond %{REQUEST_URI} /[^.]+/?$ [NC]
RewriteCond %{REQUEST_URI} !forbidden\.php [NC]
RewriteRule .* /trafficticket.tv/Sites/public_html/forbidden.php [L,NC]
要使用任何其他 URL,唯一的要求是/forbidden.php
在重写规则中添加正确的段路径。在这种情况下,该段是
/trafficticket.tv/Sites/public_html
但它可能是任何东西,也可能什么都不是,就像原来的问题一样。