我在xampps的htdocs里面的searchEngine文件夹里面有这样的.htaccess文件
<!DOCTYPE html>
<html lang="de">
<head>
<link href="styles/styles.css" rel="stylesheet"/>
<meta charset="utf-8">
</head>
<body>
<div class="main-container">
<h1 id="titlebar" class="titlebar"> Titlebar</h1>
<div class="center-container" >
<button id="button1">Button1</button>
<button id="button2">Button2</button>
<button id="button3">Button3</button>
</div>
</div>
<script>
var titlebar = document.querySelector('h1#titlebar');
var button1 = document.querySelector('#button1');
var button2 = document.querySelector('#button2');
var button3 = document.querySelector('#button3');
button1.addEventListener('click', function() {
titlebar.innerHTML = 'Button1';
var result = titlebar.classList.contains('darktitle');
console.log(result);
titlebar.classList.add('darktitle');
var result = titlebar.classList.contains('darktitle');
console.log(result);
});
</script>
</body>
</html>
然后我在地址栏中输入:
为什么要重定向到
不是
我认为必须重定向到
不是
答案 0 :(得分:1)
这是因为mod_rewrite
在一个循环中运行。第一条规则就是这样做:
起始网址:
/searchEngine/test
结束网址:
/searchEngine/view/index.php
现在L
标志会导致mod_rewrite
再次循环播放。所以现在您的起始网址变为:
起始网址:
/searchEngine/view/index.php
现在第一个规则'模式^test
不匹配,但您的第二个规则使用.*
作为匹配模式,因此重定向到google
。
您可以按照以下规则来防止此行为:
RewriteEngine On
RewriteRule ^/?test$ view/index.php [NC,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^ http://google.com [R,L]
第二条规则有另外一个条件:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
在第一个规则执行后, REDIRECT_STATUS
设置为200
。因此,仅当第一个规则未首先执行时,第二个规则才会重定向,因此它将跳过/test
。
如果您使用的是Apache 2.4+,则可以使用END
代替L
来结束执行:
RewriteEngine On
RewriteRule ^/?test$ view/index.php [NC,END]
RewriteRule ^ http://google.com [R,L]
答案 1 :(得分:0)
由于内部重定向而发生这种情况,您可以使用END标志而不是L来停止此行为:
port.RtsEnable = true;
Thread.Sleep(1000); // ~1000 ms pulse width
port.RtsEnable = false;