具有否定正则表达式条件的.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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读