что-то вроде этого близко: (непротестированный код)
byte[] data; // data goes here.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Credentials = userNetworkCredentials;
request.Method = "PUT";
request.ContentType = "application/octet-stream";
request.ContentLength = data.Length;
Stream stream = request.GetRequestStream();
stream.Write(data,0,data.Length);
stream.Close();
response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
temp = reader.ReadToEnd();
reader.Close();
В вашем system / application / config / config.php
измените
$config['index_page'] = "index.php";
на
$config['index_page'] = "";
и в свой .htaccess
добавьте это :
RewriteEngine on
RewriteCond $1 !^(index\.php|images|stylesheets|scripts|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Добавьте файл .htaccess в тот же каталог, где находится папка system
, поэтому в корневом каталоге CodeIgniter у вас должно быть
Кроме того, поскольку на вашем сервере работает несколько сайтов, вам может потребоваться VirtualHosts. Добавьте это в последнюю часть вашего apache2.conf
для каждого вашего сайта:
Listen *:11000
<VirtualHost *:11000>
ServerAdmin you@somewhere.com
DocumentRoot "/var/www/cms"
ServerName you-dummy.com
<Directory "/var/www/cms">
AllowOverride All
Options +Indexes
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>
ErrorLog logs/cms_log
CustomLog logs/cms_log common
</VirtualHost>
Теперь вы можете получить доступ к сайту с http: // localhost: 11000 /
и получить доступ к контроллер, использующий http: // localhost: 11000 / hello
.
Этот конкретный файл .htaccess выглядит так, как будто он должен находиться в корне вашего сайта (то есть на сайте, который в данный момент выполняется.)
Посмотрите документацию для RewriteCond
, чтобы узнать, какие еще типы условий можно указать. Как правило, RewriteRule
будет применяться только в том случае, если все его предыдущие RewriteCond
совпадают. Вы можете попробовать добавить эти правила для перенаправления только в том случае, если запрошенный URL не существует:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
mod_rewrite очень мощный инструмент, но может стать настоящей проблемой, если он не выполняет то, что вы думаете. Я также не знаю, как отлаживать его директивы.
Что касается того, что еще вы можете сделать с файлом .htaccess, то документы Apache для файлов htaccess всегда являются хорошим местом для Начало. Чаще всего используется для аутентификации по каталогам. Большинство директив конфигурации сервера поддерживаются в файле .htaccess (при условии, что сервер AllowOverride говорит об этом), но некоторые имеют другой синтаксис.
Поместите это в корень документа вашего веб-сайта.
Если у вас несколько сайтов, поместите его в начало каждого из них.
Если у вас несколько сайтов, запущенных с В том же каталоге вы можете использовать RewriteCond для исключения или включения определенных сайтов в правило перезаписи.
Вы можете исключить определенные каталоги (например, / article) таким же образом.
<IfModule rewrite_module>
RewriteEngine on
RewriteBase /
# Removes the "/" at the end
RewriteRule (.+)/$ /$1 [L,R]
RewriteCond $1 !^(index\.php|dhtml|img|css|js|favicon\.ico|robots\.txt)
RewriteRule ^([^?&]+) /index.php/$1 [L]
</IfModule>