2012-09-14 136 views
-1

我正在使用國防部重寫,但我的代碼不起作用。它工作了一段時間。 我已經剝離了代碼。國防部重寫規則不起作用

的.htaccess

RewriteEngine On 
RewriteBase/
RewriteRule ^/(.*)/$ index.php?test=$1 

PHP

<?php 
var_dump($_GET['test']); 
?> 

如果我去index.php它顯示NULL

我不明白爲什麼它不工作了。我希望你能幫助我。

P.s.我測試了.htaccess文件是否通過使用.htaccess登錄表單來加載。

回答

1

您需要刪除第一個斜槓在規則

RewriteEngine On 
RewriteBase/
RewriteRule ^(.*)/$ index.php?test=$1 
2

你需要擺脫第一個斜槓的:

RewriteRule ^(.*)/$ index.php?test=$1 

即使這樣,當你輸入你的規則將只適用以正斜槓結尾的URL,例如:

/index.php/ 

如果您希望它與任何URL,你需要刪除最後一個斜線以及:

RewriteRule ^(.*)$ index.php?test=$1 

編輯:爲避免你需要添加一些條件,現有的文件和目錄改寫:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?test=$1 
+0

THX,這個工作!但我還有其他問題。在我的index.php文件中,我有一個樣式表的鏈接,但該鏈接也被重寫。即使我使用asbolute網址。 – LEDfan

+0

@LEDfan看我的編輯。 – jeroen

+0

Tnx再次!我發現它就在你編輯你發佈之前! TNX! – LEDfan