- Включение mod_rewrite и .htaccess через
httpd.conf
- Включить mod_proxy в вашем
httpd.conf
Наконец-то введите этот код в ваш .htaccess
под DOCUMENT_ROOT
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule^- [L]
RewriteRule ^([^\s]+)\s([^\s]+)(\s.*)?$ $1+$2$3 [L]
RewriteRule ^([^\s]+)\s $1 [L]
RewriteCond %{HTTP_HOST} ^profiles\.mysite\.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/profile.php?user=$1 [P,L,QSA]
Этот ответ теперь будет поддерживать любое количество пробелов в URI, поскольку оно основано на рекурсии. Другими словами, URI, как это:
http://profiles.mysite.com/foo bar baz
будет передан как:
http://mysite.com/profile.php?user=foo+bar+baz
хотя URL в браузере останется:
http://profiles.mysite.com/foo&20bar%20baz
Спасибо, но это приводит к изменению URL-адреса. – Dav
Это просто означает, что модуль mod_proxy не загружается в httpd.conf. Обратите внимание, что я использую флаг 'P' вместо флага' R'. См. Здесь для получения дополнительной информации: http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html – anubhava
Получил работу, благодаря вам обоим! – Dav