Недавно я заново сделал свой сайт портфолио, и я пытаюсь сделать так, чтобы, когда кто-то нажимает ссылку на мой и старый проект (например, /philosophy.php), он принимает имя этого файла (философия) а затем добавляет его в индикатор id # и загружает на мою новую страницу с выбранным идентификатором, чтобы он автоматически переходил к этому проекту.
Нажмите на ссылку> http://www.studioimbrue.com/philosophy.php Редирект> http://www.studioimbrue.com/#philosophy
Я использую это прямо сейчас: <meta http-equiv="Refresh" content="1; URL=http://www.studioimbrue.com/">, и я добавил #<!--#echo var="$_SERVER['PHP_SELF']" -->, но это просто выглядит как (нет).
<meta http-equiv="Refresh" content="1; URL=http://www.studioimbrue.com/">
#<!--#echo var="$_SERVER['PHP_SELF']" -->
Возможно, вы захотите добавить условие перезаписи, запрещающее перенаправление, когда на самом деле существует файл с таким именем, а также указать правило перезаписи:
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)\.php$ /#$1 [R=301,NC,NE]
Если вы хотите, вы можете достичь того же с PHP
$newName = 'http://www.studioimbrue.com/#' . substr($_SERVER["PHP_SELF"], 1, -3); header('Location: $newName'); die();
Но я думаю, что делать это с .htaccess - лучший способ.
Добавьте файл .htaccess в корневой каталог вашего сервера
.htaccess
и включите в него:
Options +FollowSymlinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)\.php$ /#$1 [R=301,NE]
В противном случае используйте это:
<meta http-equiv="Refresh" content="1; URL=http://www.studioimbrue.com/#<?php echo basename($_SERVER['PHP_SELF'],'.php');?>">