加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

具有否定正则表达式条件的.htaccess中的RewriteCond不起作用

发布时间:2020-12-14 06:29:54 所属栏目:百科 来源:网络整理
导读:我试图阻止在这种情况下WordPress,重写某些URL.在这种情况下,我试图阻止它在uploads目录中处理请求,而不是将它们保留到服务器的404页面.所以我假设添加规则一样简单: RewriteCond %{REQUEST_URI} !^/wp-content/uploads/ 该规则应该评估为false,并使这些规
我试图阻止在这种情况下WordPress,重写某些URL.在这种情况下,我试图阻止它在uploads目录中处理请求,而不是将它们保留到服务器的404页面.所以我假设添加规则一样简单:
RewriteCond %{REQUEST_URI} !^/wp-content/uploads/

该规则应该评估为false,并使这些规则链失败,从而停止重写.但是没有…也许我需要在表达式中匹配封面的全部字符串?

RewriteCond %{REQUEST_URI} !^/wp-content/uploads/.*$

不,也不是.所以在抓了我的头后,我做了一个理智的检查.实际模式可能是错误的.所以我做一个简单的测试用例.

RewriteCond %{REQUEST_URI} ^/xyz/$

在这种情况下,当且仅当所请求的URL为/ xyz /并显示服务器的404页面以进行任何其他页面时,才会进行重写.这正是我的预期.所以我只是坚持下去!否定这种模式.

RewriteCond %{REQUEST_URI} !^/xyz/$

现在我期待看到与上述情况完全相反的情况.重写不应该发生在/ xyz /但是其他可能的URL.相反,对于每个URL / xyz /和其他URL都会进行重写.

所以,在RewriteConds中使用否定的正则表达式在Apache中被破坏,或者有一些基本的我不了解它.哪一个?

服务器是Apache2.

该文件的全部内容:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /
RewriteRule ^index.php$- [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/wp-content/uploads/
RewriteRule . /index.php [L]
</IfModule>

WordPress的默认文件加上我的规则.

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /
RewriteRule ^index.php$- [L]

RewriteCond %{REQUEST_URI} !^/wp-content/uploads/ [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]
</IfModule>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读