2

我希望除了我的根 URL(//index.php)以及它使用的 JS/CSS 和图像资产之外的所有 URL 都重定向到另一个 URL。所有资产都包含在 /assets 目录中

这是我到目前为止所拥有的,但它不起作用

RewriteEngine on

RewriteRule ^(.*)\.(?!js|css)([^.]*)$ $1\.php

RewriteCond %{REQUEST_URI} !^.assets$
RewriteCond %{REQUEST_URI} !/index.php$
RewriteCond %{REQUEST_URI} !/style.php$
RewriteCond %{REQUEST_URI} !/$

RewriteRule $ http://berlincallingny.eventbrite.com [R=302,L]

我需要的规则是:

  • 不要重写任何包含“资产”的 URL
  • 不要重写 index.php
  • 不要重写 style.php
  • 不要重写根 URL
  • 不要重写任何包含 .css 或 .js 的 URL

谢谢!

4

1 回答 1

1

您的assets目录正则表达式在这里不正确:

RewriteCond %{REQUEST_URI} !^.assets$

用这个替换你的代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^/assets(/.*|)$ [NC]
RewriteCond %{REQUEST_URI} !/(index|style)\.php$ [NC]
RewriteRule ^.+$ / [R=302,L]
于 2013-09-06T10:44:15.753 回答