我最近重新完成了我的投资组合网站,并且我正在努力做到这一点,当有人点击我和旧项目的链接(即/philosophy.php)时,它需要该文件的名称(哲学)然后将其添加到id指示符#并加载到我的新页面并选择该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']" -->
,但它只是(无)。
答案 0 :(得分:1)
您可能希望添加一些重写条件,当实际存在具有该名称的文件时不允许重定向,以及指定重写规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)\.php$ /#$1 [R=301,NC,NE]
答案 1 :(得分:0)
将.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');?>">
答案 2 :(得分:0)
如果你想要你可以用PHP实现同样的东西
$newName = 'http://www.studioimbrue.com/#' . substr($_SERVER["PHP_SELF"], 1, -3);
header('Location: $newName');
die();
但我认为用.htaccess做这件事是更好的方法。