【问题标题】:Force .htaccess RewriteRules to ignore certain folders?强制 .htaccess RewriteRules 忽略某些文件夹?
【发布时间】:2016-02-13 23:37:23
【问题描述】:

如何在下面重写此规则,以便它忽略某些文件夹以及这些文件夹中的所有内容。

# BEGIN WishList Member Attachment Protection
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|bmp)$
RewriteRule ^(.*)$ /index.php?wlmfile=$1 [L]
# END WishList Member Attachment Protection

我认为在当前 rewritecond 上方添加一行会起作用,但它似乎不是......

RewriteCond %{REQUEST_URI} !^/foldertoignore
RewriteCond %{REQUEST_URI} !^/foldertoignorenumber2

以下不起作用:

# BEGIN WishList Member Attachment Protection
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/foldertoignore
RewriteCond %{REQUEST_URI} !^/foldertoignorenumber2
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|bmp)$
RewriteRule ^(.*)$ /index.php?wlmfile=$1 [L]
# END WishList Member Attachment Protection

【问题讨论】:

  • @arkascha 当我这样做时规则不起作用,所以一定有问题。
  • 您是遇到错误还是无法正常工作是什么意思?
  • @PanamaJack 不,没有错误,只是我可以看到它不起作用。我可以测试的一种方法是只需将 |css 放在 rewritecond 行中。

标签: apache .htaccess rewrite httpd.conf


【解决方案1】:

不知道为什么它不起作用。但是,您应该能够以这种方式执行您的规则。

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(folder1|folder2)/?(.*)$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|bmp)$
RewriteRule ^(.*)$ /index.php?wlmfile=$1 [L]

您也可以通过这种方式尝试规则。如果它与那些目录匹配,则什么也不做。

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(folder1|folder2)/?(.*)$ [NC]
RewriteRule ^ - [L]

RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|bmp)$
RewriteRule ^(.*)$ /index.php?wlmfile=$1 [L]

还要确保清除浏览器缓存以防万一。

【讨论】:

  • 您的第一个选项有效,修复它的是 /?(.*) 部分。
猜你喜欢
  • 2011-06-20
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
  • 2019-01-09
  • 2019-10-04
相关资源
最近更新 更多