Я пытаюсь изменить рабочий код .htaccess
, который использует идентификатор в качестве параметра, на имя, чтобы у меня был более удобный URL.
Например, я хотел бы иметь
myurl.com / Pagina / страница имя
вместо
myurl.com / Pagina / 1
Это рабочий код
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
# redirect "/pagina.php?id=xxx" to "/pagina/xxx"
RewriteCond %{THE_REQUEST} pagina\.php\?id=([0-9]+)\s [NC]
RewriteRule ^ /pagina/%1? [R=301,L]
# internally rewrite "/pagina/xxx" to "/pagina.php?id=xxx"
RewriteRule ^pagina/([0-9]+)$ actagov/pagina.php?id=$1 [L]
Я пытался изменить его на
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
# redirect "/pagina.php?alias=xxx" to "/pagina/xxx"
RewriteCond %{THE_REQUEST} pagina\.php\?alias=([^&\s]+)\s [NC]
RewriteRule ^ /pagina/%1? [R=301,L]
# internally rewrite "/pagina/xxx" to "/pagina.php?alias=xxx"
RewriteRule ^pagina/([^&\s]+)$ actagov/pagina.php?alias=$1 [L]
PHP-файл
if(isset($_GET['alias']))
{
if(!empty($_GET['alias']))
{
$alias_pagina = $_GET['alias'];
$result_pagina = mysqli_query($mysqli, "SELECT * FROM pages WHERE
nome='$alias_pagina'");
$query_pagina = mysqli_fetch_assoc($result_pagina);
$id_pagina = $query_pagina['id'];
$id_template = $query_pagina['id_template'];
switch($id_template)
{
case '1':
include 'page_template_standard.php';
break;
case '2':
include 'page_template_two_column.php';
break;
}
}
else
{
header('Location: index.php');
}
}
else
{
header('Location: index.php');
}
?>
Но это не перенаправление вообще. Возможно, я ошибаюсь в синтаксисе, но я не очень знаком с языком htaccess . Можете ли вы сказать мне, что я должен изменить?
РЕДАКТИРОВАТЬ: я наконец нашел рабочее решение
Options -MultiViews
RewriteEngine On
# redirect "pagina.php?alias=xxx" to "/xxx"
RewriteCond %{THE_REQUEST} /pagina\.php\?alias=([a-zA-Z0-9_-]+) [NC]
RewriteRule ^ /actagov/%1? [R=301,L]
# internally rewrite "/xxx" to "pagina.php?alias=xxx"
RewriteRule ^([a-zA-Z0-9_-]+)$ pagina.php?alias=$1 [L]
Это преобразует URL
локальный / actagov / pagina.php? Псевдоним = псевдоним имя
в
* * Локальный / actagov / псевдоним имя-1040