Rob*_*cki 4 url .htaccess rewrite
使用.htaccess,我希望将URL从一个文件夹重定向到另一个文件夹.
例如,如果用户请求'forbiddenFolder' 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
我不想锁定目录本身,因为那里有资源是必需的.重定向应仅基于URL字符串工作,或者如果用户从www.anothersite.com创建脚本并从http://www.mysite.com/forbiddenFolder提取文件
我相信重写条件应该实施....?
你可以试试这个:
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]
Run Code Online (Sandbox Code Playgroud)
内部地图
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]
Run Code Online (Sandbox Code Playgroud)
要使用任何其他URL,唯一的要求是/forbidden.php在重写规则中添加正确的段路径.在这种情况下,该细分是
/trafficticket.tv/Sites/public_html
但它可能是任何事情或者什么都不是,就像在原始问题中一样.