Ben (index.php
, web-kök), tek bir komut dosyası aracılığıyla gelen tüm istekleri işlemek istiyorum.
Yani, şu anda ne olur: http://localhost/foo/bar/baz
http://localhost/index.php?url=foo/bar/baz
: için (.htaccess
) aracılığıyla Apache tarafından yönlendirilir
Bu iyi çalışıyor, ancak, Firefox'ta bunu yapmak mümkün duyuyorum: http://localhost/foo\
-> backslash fark.
Ve Apache yerine yapıyor: /index.php?url=foo\
Genel bir hata sayfası deyişi yayar:
Object not found! The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.
If you think this is a server error, please contact the webmaster.
Error 404 localhost Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
Doğrudan olacak: http://localhost/index.php?url=foo\
Ancak, sorunlar olmadan çalışır.
Ben internette gördüğüm tüm siteler incelikle tersbölüleri idare edebilmek gibi görünüyor (örneğin, http://stackoverflow.com/tags/php\\\\\
).
I consider this behavior a bug and I want to force Apache to forward backslashes correctly.
Here's my .htaccess
file in its entirety:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [L]
Nasıl düzgün bu işi yapabilir?
Düzenleme: Ben sadece benim host üzerinde çalıştı ve bu onlar tarafından düzgün bir şekilde işlenir. Bana httpd.conf
bazı ayardır düşündürüyor.