2

我目前正在 Google App Engine 中开发一个网站作为网站开发平台,但我最终想要构建将网站从动态模板编译为静态 HTML/CSS-only 版本的能力。

就 URL 映射而言,所有站点文件都存在于站点根目录中,但我仍然希望能够将特定文件类型映射到文件夹。

例如:

  • /images - 包含所有图像
  • /scripts - 包含所有 JavaScript 文件
  • /stylesheets - 包含所有样式表

现在,在 GAE 中,我使用以下静态路由路由这些路由:

url: /(.*\.(gif|png|jpg))
  static_files: /images/\1

url: /(.*\.css)
  static_files: /stylesheets/\1

url: /(.*\.js)
  static_files: /scripts/\1

如何在站点根目录使用包含正则表达式重写规则的 .htaccess 文件映射这些静态路由?

4

1 回答 1

2

你可以使用这个 .htaccess 配置

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteRule ^(.*\.(gif|png|jpg))$ /images/$1
RewriteRule ^(.*\.css)$ /stylesheets/$1
RewriteRule ^(.*\.js)$ /scripts/$1

第 2 - 5 行仅当您希望 apache 在文件/链接/目录实际存在时不重写。

于 2012-04-10T11:02:57.370 回答