2013-12-17 22 views
1

所以我有這個在我的htaccesshtaccess的,總是一個GET值

RewriteRule ^page(?:/error(?:/([^/]+))?)?/?$ page.php?error=$1 [L,QSA] 

但我總是得到一個空數組是錯誤=「」。任何頁面上的/應該是可選的,但它在$ _GET數組中設置錯誤爲空。

Array ([error] =>)

RewriteEngine on 
Options -MultiViews 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^page(?:/error(?:/([^/]+))?)?/?$ page.php?error=$1 [L,QSA] 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [L] 

回答

1

最有可能你會對MultiViews

添加此行您的.htaccess的頂部將其關閉:

Options -MultiViews 

UPDATE:完整的.htaccess:

Options -MultiViews 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^register(?:/error(?:/([^/]+))?)?/?$ /register.php?error=$1 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1.php -f 
RewriteRule ^(.+?)/?$ /$1.php [L] 
+0

還是一樣。我已經用完整的htaccess更新了OP。 – user273324

+0

提供完整的.htaccess,現在就試試。 – anubhava

+0

仍然這樣做。 – user273324