Şu anda benim Apache DocumentRootu benim index.php bulunduğu genel dizinden farklı olduğu bir proje üzerinde çalışıyorum. Garip nedeniyle bu kurulum, benim $ _GET süper küresel boşaltılması gibi görünüyor.
Directory structure:
- / DocumentRoot
- / DocumentRoot/.htaccess
- / Public / .htaccess
- / Public / index.php
Ilk. Htaccess işlendikten sonra terslik.
#First .htaccess in Apache documentroot:
RewriteEngine On
RewriteRule (.+) public/$1 [NC,L]
# Second .htaccess in /documentroot/public:
SetEnv APPLICATION_ENV testing
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Some observations:
- Birincil. Htaccess kaldırılması ve documentoot ek bir index.php verirken, benim $ _GET değişkenleri ince göstermek
- When dumping $_GET in the / Public / index.php file, it is empty
- Index.php çağrılırken gibi /? Foo = bar, $ _GET boş
- Index.php Ararken / index.php? Foo = bar $ _GET gibi doldurulur
What could be causing the $_GET variable to be emptied? Herhangi bir yardım takdir edilmektedir.
EDIT: things just got a whole lot stranger: strong>
Ben sağlam htaccess dosyaları. Hem bırakın ve bir index.php yerleştirdiğinizde (veya herhangi bir dizin. * Bu konuda) (ne olursa olsun içeriği) documentroot dosyasını, kamu / dizininde index.php dosyasında $ ayrıştırılır ve _GET değişken düzgün doldurulur.