使用变量重定向

时间:2010-02-28 19:21:59

标签: php html redirect

我最近重新完成了我的投资组合网站,并且我正在努力做到这一点,当有人点击我和旧项目的链接(即/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']" -->,但它只是(无)。

3 个答案:

答案 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做这件事是更好的方法。