Я управляю двумя сайтами Wordpress.
Сайт 1 деталь:
WordPress: 3.0.1
PHP: 5.2.13
MySQL: 5.1.47
WebServer: Microsoft-IIS/6.0
Здесь web.config не записан WordPress, когда изменения постоянных ссылок сохраняются
Сайт 2 детали:
WordPress: 3.0.1
PHP: 5.2.13
MySQL: 5.1.47
WebServer: Microsoft-IIS/7.5
Здесь web.config записан WordPress, когда изменения постоянной ссылки сохраняются
Я нашел рабочую конфигурацию. Теперь я использую следующее:
LoadModule dbd_module modules/mod_dbd.so
LoadModule authn_dbd_module modules/mod_authn_dbd.so
DBDriver mysql
DBDParams "host=db.example.com user=username pass=password dbname=webdav"
<VirtualHost *:80>
Servername webdav.example.com
DocumentRoot /var/www
Options +FollowSymlinks
RewriteLog "/var/log/httpd/rewrite.log"
RewriteLogLevel 2
RewriteEngine on
RewriteMap usergroup txt:/etc/httpd/usersingroups
RewriteCond %{REQUEST_URI} !^/SharedFolder [NC]
RewriteRule .? - [S=2]
RewriteRule ^/SharedFolder/(.*)$ /sharedfolders/${usergroup:%{LA-U:REMOTE_USER}}$1
RewriteRule .? - [S=2]
RewriteCond %{REQUEST_URI} !^/SharedFolder [NC]
RewriteRule ^(.*)$ /webdav/%{LA-U:REMOTE_USER}$1
<Directory "/var/www">
DAV on
Options +Indexes
AuthName "example.com"
AuthType Digest
AuthDigestDomain /
AuthDigestProvider dbd
AuthDBDUserRealmQuery "SELECT digest FROM users WHERE username = %s AND unix_timestamp() < (ts+900) "
Require valid-user
</Directory>
</VirtualHost>
Я создал конструкцию if-then-else, пропустив строки, если необходимо применить определенное условие. Кроме того, я также сделал RewriteRule для SharedFolder немного более конкретным. Это в основном помогло. После этого диспетчер трафика (обратный прокси) поставил меня на неверную ногу, который выполняет разгрузку SSL на этот хост (отсюда : 80 в
. Просмотр, загрузка и удаление работали нормально, за исключением переименования. Оказывается, когда вы переименовываете файл или папку в WebDAV, отправляется весь заголовок назначения, а не только путь при загрузке или удалении файл или папку. Имейте это в виду, когда вы выполняете какую-либо форму разгрузки SSL.
Проблема здесь:
RewriteRule ^(.*)$ /sharedfolders/${usergroup:%{LA-U:REMOTE_USER}}$1
Вы перехватываете каталог, используемый в URL-адресе, сохраняете его в $ 1, а затем добавляете $ 1 в конец строки. Если вы не указали добавленную часть URL-адреса, просто удалите $ 1 в конце.
Чтобы остановить перезапись после правила общих папок, добавьте флаг [L] в конец.
Таким образом, правило должно иметь следующий вид:
RewriteRule ^(.*)$ /sharedfolders/${usergroup:%{LA-U:REMOTE_USER}} [L]