我们使用以下网址创建了一个CDN子域来托管图片:
https://cdn.example.com/
https://cdn.example.com/blabla/
我们想要的是重定向,如果有人去了这个子域的任何其他路径。例如:
images
重定向到其他域,如果文件夹为{{1}},则不重定向。
答案 0 :(得分:1)
使用mod_rewrite在.htaccess
文件顶部附近尝试以下操作:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^cdn.example.com [NC]
RewriteRule !^images/ https://example.com%{REQUEST_URI} [R,L]
如果您访问cdn.example.com/<something>
且网址路径未启动/images/
,则会重定向到https://example.com/<something>
(主域名)。
如果您想要永久重定向,请将R
更改为R=301
(在您确定它正常工作之后)。
更新:要排除其他文件夹(例如images2
和images3
),您可以将RewriteRule
指令更改为:
RewriteRule !^(images|images2|images3)/ https://example.com%{REQUEST_URI} [R,L]
如果这些文件夹的字面意思是images
,images2
和images3
,那么这可以简化为匹配(或者更确切地说不匹配)任何网址表单/imagesN
- 其中N
是可选数字:
RewriteRule !^images\d?/ https://example.com%{REQUEST_URI} [R,L]
答案 1 :(得分:1)
在文档根目录中创建htaccess文件,并拒绝直接访问所有文件
Order deny,allow
Deny from all
并在images
中创建htaccess文件:
Allow from all