2010-04-18 186 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]