Мне нужно правило .htaccess для перенаправления:
example.com/view-post.php?id=40 в example.com/article/40
Таким образом, браузер показывает example.com/article/40 в адресной строке, но сервер использует example.com/view-post.php?id=40.
Всем привет. Похоже, по этому вопросу вы получили нужный ответ, а затем удалили вопрос. Хотя вам разрешено удалять свои сообщения, удаление вопроса не соответствует духу Stack Overflow, если будут удалены и полезные ответы.






Следующие работы:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^article/(\d+)*$ ./view-post.php?id=$1
См .: https://code.tutsplus.com/tutorials/using-htaccess-files-for-pretty-urls--net-6049
Какие URL-адреса вы пытаетесь использовать для CSS и JS?
.htaccess не будет работать на сервере nginx. Поэтому вам следует попробовать следующий код для маршрутизации только с использованием скрипта php. Сохраните этот сценарий в своем файле index.php.
$url = $_SERVER['REQUEST_URI'];
if (preg_match('/article/', $url)){
$id = $_GET['id'];
$url = $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].'/view-post.php?id='.$id;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$httpResponse = curl_exec($ch);
echo $httpResponse;
}else{
echo "404 Error, Page not found";
}
Если у вас есть другой URL-адрес маршрута Ex. example.com/post/40 и example.com/porfile/40, тогда вы можете добавить условие в if, как показано ниже,
if (preg_match('/article/', $url) || preg_match('/porfile/', $url) || preg_match('/post/', $url)){
Надеюсь, этот ответ вам поможет :)
В вопросе написано .htaccess
Что непонятно? Предоставьте нам свой код, ошибки.