2011-12-20 83 views
0

我正在一個網站上,需要做一些URL重寫

這是非常相似的,但$_GET URL ReWriting我似乎無法使它工作

基本上在我的index.php我使用$_GET變量顯示內容

<?php 
$page = basename($_GET['page']).".php"; 
if(file_exists("content/".$page)) 
    include("header.php"); 
else 
    include("header_index.php"); 
?> 

<div id="main"> 
<!-- container --> 
    <?php 
    if (file_exists("content/".$page)) 
     echo '<div id="container">'; 
    else 
     echo '<div id="container" class="index_container">'; 
    ?> 
     <!-- content --> 
      <div id="content"> 
       <?php 
        if(file_exists("content/".$page)) 
         include("content/".$page); 
        else 
         include("content/index_page.php"); 
        include("./content/right_menu.php"); 
       ?> 
      </div> 
     <!-- content --> 
    </div> 
<!-- /container --> 
</div> 

<?php 
    include("./footer.php"); 
?> 

這樣test.com/?page=test1顯示器website_folder/content/test1.php

我想要做的就是它做出test.com/test1

所有我的網頁上的鏈接都喜歡<a href="?page=testX">Test X</a>

謝謝

編輯: 重寫規則試圖
RewriteRule (.*)$ ?page=$1
RewriteRule ./([a-zA-Z]+)$ ./index.php?page=$1
RewriteRule /([a-zA-Z0-9]) /?page=$1
RewriteRule ^subdomain.test.com/subfolder/(.+) subdomain.test.com/subfolder/index.html?page=$1 [NC]
RewriteRule (.+)$ index.php?page=$1

+0

我應該用'.htaccess'來寫'test.com/test1'而不是'test.com/?page = test1'? – rxdazn 2011-12-21 08:49:40

+0

是的。這就像最簡單的事情之一,類似於幾乎所有關於mod_rewrite的教程中所解釋的內容,但對我來說似乎不起作用。 (是的,我的主機確實允許URL重寫,我知道我的'.htaccess'被考慮在內) – rxdazn 2011-12-21 09:54:52

+0

已被編輯。大部分時間標誌都是[NC]。 – rxdazn 2011-12-21 12:59:42

回答

2

這應該這樣做:

RewriteRule ^subdomain.test.com/subfolder/(.+) subdomain.test.com/subfolder/index.html?page=$1 [NC] 

這對我的作品!

(。注意的.html您可能需要將其更改爲.PHP,.asp的ECT)

您還需要:

Options +FollowSymLinks 
RewriteEngine on 

前面所描述的。

+0

它似乎並沒有在這裏工作... index實際上是在subdomain.test.com/subfolder/index但它不應該改變任何東西 'RewriteEngine on'已經存在 'RewriteRule^subdomain.test。 com/subfolder /(.+)subdomain.test.com/subfolder/?page=$1 [NC]'不起作用 – rxdazn 2011-12-20 16:27:59

+0

我已更新答案。如果這不起作用,你能否詳細說明當你嘗試它時會發生什麼? – ACarter 2011-12-20 17:55:36

+0

我以前嘗試過,但它也不起作用。請求'sub.test.com/subfolder/contact'讓我404,但'sub.test.com/subfolder/?page = contact'正確顯示'website_folder/content/contact.php'。 所有的網址仍然顯示爲'sub.test.com/sub/?page = pagename' – rxdazn 2011-12-21 09:03:05