仅当请求不以'/ THEMES /'开头时,Apache mod_rewrite

13 regex apache mod-rewrite

我正在用PHP编写CMS,现在我正在使用主题功能.我有一个.htaccess文件:

RewriteEngine ON
RewriteRule ^([a-zA-Z][a-zA-Z0-9]*)$ index.php?m=$1
RewriteRule ^([a-zA-Z][a-zA-Z0-9]*)/(.+)$ index.php?m=$1&p=$2
Run Code Online (Sandbox Code Playgroud)

如果我有要求:

/page
Run Code Online (Sandbox Code Playgroud)

它必须加载名为page的类的视图函数.

如果我有要求:

/page/test
Run Code Online (Sandbox Code Playgroud)

它必须使用参数'test'加载名为page的类的视图函数.这一切都有效,

但我想它应用的RewriteRules ONLY如果请求中下手:

/THEMES/
Run Code Online (Sandbox Code Playgroud)

所以我可以应用CSS样式等...

谁能帮我?谢谢.

Kev*_*vin 28

在重写规则之前添加:

RewriteCond %{REQUEST_URI} !^/THEMES/
Run Code Online (Sandbox Code Playgroud)


Gum*_*mbo 12

您可以使用其他规则来停止重写过程:

RewriteRule ^THEMES/ - [L]
RewriteRule ^([a-zA-Z][a-zA-Z0-9]*)$ index.php?m=$1
RewriteRule ^([a-zA-Z][a-zA-Z0-9]*)/(.+)$ index.php?m=$1&p=$2
Run Code Online (Sandbox Code Playgroud)

  • 很高兴知道你可以重写 - 保留给定的URL /模式 (3认同)