文件适用于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');
答案 0 :(得分:1)
您使用的RewriteRules
太相似了,这意味着它们都会返回相同的结果。
如果您在root
级别有一个名为“places”的目录,那么您可以执行以下操作:
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