小编nit*_*k01的帖子

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

我试图阻止,在这种情况下WordPress,重写某些URL.在这种情况下,我试图阻止它在uploads目录中处理请求,而是将它们留在服务器的404页面中.所以我假设它就像添加规则一样简单:

RewriteCond %{REQUEST_URI} !^/wp-content/uploads/
Run Code Online (Sandbox Code Playgroud)

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

RewriteCond %{REQUEST_URI} !^/wp-content/uploads/.*$
Run Code Online (Sandbox Code Playgroud)

不,那也不是.所以在抓了我的头后,我做了一个理智的检查.也许实际模式有问题.所以我做了一个简单的测试用例.

RewriteCond %{REQUEST_URI} ^/xyz/$
Run Code Online (Sandbox Code Playgroud)

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

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

现在我期待看到与上述情况完全相反的情况.对于/ 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>
Run Code Online (Sandbox Code Playgroud)

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

regex apache .htaccess mod-rewrite

17
推荐指数
2
解决办法
5万
查看次数

Tkinter OptionMenu:通过列表中最长的菜单项设置宽度

Tkinter会OptionMenu根据当前活动的菜单项设置其宽度。我正在寻找一种方法,使其根据最宽的菜单项设置其宽度,而不是根据当前选择的菜单项来设置宽度,以防止在用户选择其他菜单项时调整小部件的大小。

Tkinter选项菜单小组件更改宽度 ”问题中的建议答案隐藏了问题,但没有解决。(提示:不是重复的!)可接受的答案是将小部件设置为W和都具有粘性E。只要该列的建议大小比框中的所有项目都宽,就可以隐藏该问题,但实际上并不能解决问题。

我拥有(并且更愿意拥有)grid带有各种小部件的布局列,该列根据小部件的宽度动态调整大小。但是,我希望OptionMenu小部件报告的宽度是它最宽的项目的宽度,而不是当前选定的宽度,因为如果用户选择的项目比其他任何项目都要宽,则整列的宽度都会改变。

到目前为止,我发现的所有建议方法要么是粘住小部件,WE这并不能(本身)解决我的问题,然后设置与项目长度无关的任意恒定宽度,我不想做。

python tkinter

5
推荐指数
1
解决办法
4494
查看次数

标签 统计

.htaccess ×1

apache ×1

mod-rewrite ×1

python ×1

regex ×1

tkinter ×1