0

文件适用于index.php?p=$1但不适用于index.php?places=$1

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?p=$1

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?p=$1

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?places=$1

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?places=$1

从评论更新

这是我的一部分index.php

if(isset($_GET['p']) && $_GET['p']=='Kontakt'){
include ("pages/Kontakt.inc.php");
}
$događaj=(isset($_GET['događaj'])) ? $_GET['događaj'] : "none";
$mjesto=(isset($_GET['mjesto'])) ? $_GET['mjesto'] : "none";
$ponude=(isset($_GET['ponuda'])) ? $_GET['ponuda'] : "none"; elseif($ponude != "none"){ 
include ('pages/ponuda-template.inc.php');
} elseif($mjesto != "none"){
include ('pages/mjesta-template.inc.php');
} else $page = (isset($_GET['p'])) ? $_GET['p'] : "Početna";
include ('pages/pocetna.inc.php');
4

1 回答 1

1

RewriteRules您使用的太相似了,这意味着它们都将返回相同的结果。

如果您在该级别有一个名为“places”的目录root,那么您将执行以下操作:

RewriteRule ^places/([a-zA-Z0-9_-]+)/?$ index.php?places=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?p=$1 [L]

注意*:规则按照达到的顺序应用(与条件不同)。

如果您想收集相同的信息以用于多个查询语句,那么您将执行以下操作:

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?p=$1&places=$1 [L]

对于?p=sitename您正在处理请求的站点的站点名称,您可以使用:

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?p=%{HTTP_HOST}&places=$1 [L]

如果您尝试匹配包含句点作为子目录的站点名称:

RewriteRule ^([a-zA-Z0-9_-]+\.[a-zA-Z0-9_-.]+)/?$ index.php?places=$1
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?p=$1
于 2013-06-10T20:28:58.803 回答