2010-04-18 53 views
0

我不得不修正网址在我的网站在http://www.abelputra.com 一个问题,我需要一个解决方案:执行问题。 .htaccess的在PHP

我想改变www.abelputra.com/software.phpwww.abelputra.com/software

我看过像这样的教程: 为。 htaccess的:

RewriteEngine On 
RewriteRule^([a-zA-Z0-9_-] +) $ index.php? Key = $ 1 
RewriteRule^([a-zA-Z0-9_-]+)/$ index.php? Key = $ 1 

然后在PHP:

的index.php --->

$Key=$ _GET ['key']; 

if ($key == 'home') 
{ 
    include ('index.php'); // Home page 
} 
else if ($ key == 'software') 
{ 
    include ('software.php'); // 
} 
else if ($ key == 'webdesign') 
{ 
    include ('webdesign.php'); // 
} 

的问题是:

当我实现了菜单software.php index.php文件来调用页面:

www.abelputra.com/index.php?key=software

发生的事情是所显示的页面是二页面后面的software.php index.php页面下面。

是否因为调用函数“include()”?

的index.php结构:

  1. 部首

  2. 内容 - >包含的开头语

  3. 页脚

software.php结构:

  1. 页眉

  2. 内容 - >包含我的软件

  3. 页脚

对不起我的英语不好的解释。我来自印度尼西亚。

请解.. 感谢

回答

0

我不知道如果我理解正确的,但如果你只是想重写这些URL(如消除php扩展),你并不需要实现网关脚本或更改主页的逻辑代码(修改URL除外)。

举例来说,以下将允许您使用abelputra访问与您的免费提示 。COM/freetips/185

RewriteRule ^freetips/(\d+)$ freetips_det.php?tip=$1 [L] 

一般扩展去除是一个众所周知的话题,在这里讨论,例如:

htaccess code to remove extension AND add+force trailing slash?

+0

我的问题是如何实现它在PHP – Taruhku 2010-04-18 07:07:38

+0

我的解决方案是你不需要的东西,因为你的主页已经在工作,你只是想改变一些网址 – Wikser 2010-04-18 07:09:59

+0

是的,我的网络正在工作。但我看到他们消除了大多数其他网站.php并将它变成一个文件夹。并根据我不忽略PHP扩展。 我只是不知道如何在我的PHP脚本中实现它。 – Taruhku 2010-04-18 07:18:16

0
Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 

RewriteBase/

## hide .php extension 

# To externally redirect /dir/foo.php to /dir/foo 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 

RewriteRule^%1 [R,L,NC] 

## To internally redirect /dir/foo to /dir/foo.php 

RewriteCond %{REQUEST_FILENAME}.php -f 

RewriteRule^%{REQUEST_URI}.php [L]