我正在尝试用一些静态html内容屏蔽目录,简单的示例如下所示:
RewriteRule ^something/?$ sub_directory/something/
现在,当用户关注
www.example.com/something/
一切正常,静态页面从sub_directory/something
加载CSS和图像。但是,当用户遵循如下网址:www.example.com/something
(不带斜杠)时,应用程序将返回404错误。
我在这里做错了什么?
我尝试过:
RewriteRule ^something(.*) sub_directory/something/$1
但是通过这种方式,只加载html内容,而没有任何js,css或图像文件。
答案 0 :(得分:1)
您的规则如下:
RewriteEngine On
RewriteRule ^(?:js|css|images)/.+$ sub_directory/something/$0 [L,NC]
RewriteRule ^something(?:/.*)?$ sub_directory/$0 [L,NC]
并将其添加到页面HTML的<head>
部分的下方:
<base href="/sub_directory/something/" />
,以便从该基本URL而不是从当前页面的URL解析每个相对URL 。