如何更改页面网址查询并获取前两个字母。在.htaccess或php
http://127.0.0.1/site/flowers/index.php?query=Bird
http://127.0.0.1/site/flowers/index.php?query=eagle
喜欢这样:
http://127.0.0.1/site/flowers/search/bi/bird.html
http://127.0.0.1/site/flowers/search/ea/eagle.html
Htaccess代码: 127.0.0.1/site/.htaccess
RewriteEngine on
RewriteRule ([^/\.]+)/?.html$ index.php?query=$1 [L]
答案 0 :(得分:1)
将以下内容添加到.htaccess
RewriteRule ([^/\.]+)/?.html$ index.php?query=$1 [R=301]
RewriteCond %{QUERY_STRING} query=([^/\.]{2})([^/\.]+)
RewriteRule index.php search/%1/%1%2.html [R=301]
然后http://127.0.0.1/site/flowers/Bird.html
重定向到http://127.0.0.1/site/flowers/index.php?query=Bird
,后者又重定向到http://127.0.0.1/site/flowers/search/Bi/Bird.html
我假设这是你想要的?
答案 1 :(得分:1)
以下是可用于此重定向的Javascript代码:
<html>
<head>
<title>Form Post Example</title>
<script>
function prettySubmit(form, evt) {
evt.preventDefault();
var val = form.query.value.toLowerCase();
window.location =
form.action + '/' + val.substr(0, 2) + '/' + val.replace(/ /g, '+') + '.html';
return false;
}
</script>
</head>
<body>
<form method="get" action="flowers/search" onsubmit='return prettySubmit(this, event);'>
<input type="text" name="query">
<input type="submit" value="Search">
</form>
</body>
</html>
然后您可以在site/.htaccess
中使用此规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([^/.]+)\.html$ index.php?query=$1 [L,QSA,NC]
这会将您的网址转换为:
http://127.0.0.1/site/flowers/search/bi/bird.html
在搜索字段中使用字词bird
执行搜索时。