Как мне перенаправить обратно на домашнюю страницу после того, как mode_write SEO дружественный URL в PHP - PullRequest
0 голосов
/ 21 сентября 2019

Я работаю над созданием оптимизированных для SEO URL-адресов для CMS. Я успешно достиг этого, но столкнулся с проблемой перенаправления.

index.php

<nav>
<a href="index.php">Home</a>
<a href="gallery.php">Gallery</a>
</nav>

<a href="blog/24">Read</a>

После нажатия кнопки «Читать»ссылка в index.php перенаправляет его на blog.php как http://localhost/cms/blog/24 и с помощью php GET я могу получить id

blog.php

<nav>
<a href="index.php">Home</a>
<a href="gallery.php">Gallery</a>
</nav>

<container>
<?php
if(isset($_GET['id'])) {
//i am getting id here
}
?>
</container>

.htaccess file

RewriteEngine On

RewriteRule ^blog/([a-zA-Z0-9-/]+)$ blog.php?id=$1

RewriteRule ^blog/([a-zA-Z0-9-/]+)/ blog.php?id=$1

RewriteRule ^(.+)/(css|img|js|images)/(.*)$ $2/$3 [L]

После нажатия на ссылку для чтения, я перенаправляю на http://localhost/cms/blog/24, и я могу получить идентификатор блога 24

, но если нажать на домашнюю ссылку в навигационной секции blog.php, то этоперенаправляет на http://localhost/cms/blog/index.php и дает объекту не найдена ошибка

Но я хочу, чтобы оно было http://localhost/cms/index.php

1 Ответ

0 голосов
/ 21 сентября 2019

Добавьте косую черту для обозначения относительных путей.

Если ваши файлы находятся в корне домена, измените

<a href="index.php">Home</a>
<a href="gallery.php">Gallery</a>

на

<a href="/index.php">Home</a>
<a href="/gallery.php">Gallery</a>

Иначе, если в подпапке на домене

<a href="/subfolder/index.php">Home</a>
<a href="/subfolder/gallery.php">Gallery</a>
...