2013-02-25 114 views
0

我想通過我的url從一個頁面傳遞一個變量到另一個頁面。網址的結構如下所示http://localhost:8888/test_portfolio?location=ignite_rockford

下面是從我.htaccess文件中的相關信息:

Options -MultiViews 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ %{REQUEST_FILENAME}.php?/$1?$1=$1 
</IfModule></code> 

的問題似乎是這一行:RewriteRule ^(.*)$ %{REQUEST_FILENAME}.php?/$1?$1=$1,但我不知道該怎麼辦。如果我在test_portfolio後添加.php,那麼它可以工作,但除此之外,當我轉儲$_GET['location']時,我會得到NULL

噢,我正在檢索$_GET$location = $_GET["location"];

任何幫助,將不勝感激。

回答

1

如果你只是想刪除.php,你可以再補充它,並[QSA]標籤複製的查詢字符串:

RewriteRule ^(.*)$ $1.php [QSA] 
+0

'RewriteCond%{REQUEST_FILENAME}!-f'負責匹配文件。 '-d'對目錄也一樣。 – Halcyon 2013-02-25 17:24:12

+0

@FritsvanCampen你說得對,我跳過了這部分。謝謝。 – Tchoupi 2013-02-25 17:35:53

+0

非常感謝。我感謝您的幫助。 – Daniel 2013-02-25 20:49:50

0

您的網址將走向:

/test/test.php?/test?test=test你確定這是你想要的? (它看起來畸形,除其他事項外)

通常你會寫這樣一個路由器:

RewriteRule ^(.*)$ router.php?__url=$1 [QSA] 

這會給你一個GET參數__url與原來的路徑。 [QSA]將允許您仍然接受所有原始查詢參數,如location