.htaccess SEO динамические URL не работает - PullRequest
0 голосов
/ 05 июня 2018

У меня есть страница со ссылкой со строкой запроса, которая загружает другую страницу с результатом запроса.

a href="news-detail.php?nrf=<?php echo $ntitle; ?>"><?php echo "<img src=newsimgs/thumbs/".$nphoto1.">" ?></a>

Теперь, когда загружается страница новой детализации, я получаю URL-адрес как

https://www.xyzee.org/news-detail.php?nrf=Testing

Но я хочу, чтобы он загружался как

https://www.xyzee.org/news-detail/Testing

. Я искал в Интернете учебники по mod_rewrite и пробовал разные примеры, но по причинам, за пределами моего понимания, я не могу заставить его работать.Один из примеров кода, который я пробовал, это

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news-detail/([A-Za-z0-9-]+) news-detail.php?nrf=$1 [NC]

</IfModule>

Это должно работать, когда я нажимаю на ссылку, которая загружает страницу с подробной информацией, но это не так.Страница по-прежнему загружается со ссылкой как https://www.xyzee.org/news-detail.php?nrf=Testing

Когда я печатаю непосредственно в браузере, https://www.xyzee.org/news-detail/Testing, страница фактически загружается, но ссылки на CSS, JS, изображения и т. Д.Все сломаны.Я пробовал так много способов решить эту проблему, но, похоже, не могу найти решение.Проблема в связи со строкой запроса или в чем-то другом, я просто не знаю.Любая помощь приветствуется.Заранее спасибо.

1 Ответ

0 голосов
/ 05 июня 2018

Использование mod_rewrite не заменяет ссылки внутри ваших документов.Вы должны сделать это в своем собственном коде:

<a href="news-detail/<?php echo $ntitle; ?>"><?php echo "<img src=newsimgs/thumbs/".$nphoto1.">" ?></a>

После этого вы также должны обновить пути к вашим внешним ресурсам, так как вызываемая страница теперь находится в подкаталоге.Таким образом, вы можете добавить ../ ко всем включенным ресурсам на стороне клиента на странице сведений.

Чтобы предотвратить это, лучшим способом было бы использовать абсолютные пути или добавить <base /> в заголовок страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...