2010-07-29 26 views
9

Tôi có yêu cầu chạy quản trị Wordpress qua https. Chúng tôi sử dụng cdn để cung cấp nội dung được lưu trong bộ nhớ cache cho trang web nhưng cdn không thể chấp nhận lưu lượng truy cập an toàn (chỉ một SSL cert cho mỗi IP được phép và chúng tôi chạy một số trang web). Tôi không thể kiểm soát chuyển hướng cho httpS://www.mysite.com/.Làm thế nào để chạy quản trị Wordpress trên một tên miền phụ khác?

Tôi muốn có:

http://www.mysite.com/blog/ 
httpS://secure.mysite.com/blog/wp-admin/ 
httpS://secure.mysite.com/blog/wp-login.php 

Tôi đã cố gắng viết lại url như đề xuất trong bài viết http://codex.wordpress.org/Administration_Over_SSL#Virtual_Hosts.

giả thuyết, bạn có thể sử dụng một máy chủ với một cái tên khác, chẳng hạn như wpadmin.mysite.com

Thật không may cố gắng này như đề xuất vẫn gửi cho tôi để httpS://www.mysite.com/blog/login.php.

# No matter what it redirects to the wrong subdomain for login.php 
http://www.mysite.com/blog/wp-admin/ 
-> httpS://secure.mysite.com/blog/wp-admin/ 
-> httpS://www.mysite.com/blog/wp-login.php. 

Ngoài ra khi đi trực tiếp đến các tập tin css vẫn liên kết đến các url sai (.)

Các giải pháp đơn giản có thể đã được chạy blog tắt http://blog.mysite.com/blog/. Thật không may điều này đã được thử và đã được quyết định chống lại vì lý do SEO.

Dù sao Wordpress cũng có thể thực hiện việc này?

+0

Nếu tôi nhớ chính xác, WP có một mục db rằng tên miền mà bảng quản trị dự kiến ​​sẽ được, và nó sẽ chuyển hướng bạn đến tên miền đó khi bạn đăng nhập và vào bảng quản trị. Khi chạy một cá thể thử nghiệm, nó có thể là một nỗi đau thực sự để giữ chúng thẳng. –

Trả lời

1

Các bạn đã nhìn vào this thread? Đó là một mod trên plugin WordPress HTTPS.

+0

Đã có thời gian để cung cấp cho plugin này một thử ngày hôm nay và nó (wordpress-https v2.0.4 cho wordpress v3.3.1) hoạt động chính xác như tôi muốn! Cảm ơn bạn đã xem xét một chuỗi cũ. – CoffeeMonster

1

Không quá chắc chắn nếu bạn đã xem bài viết này nhưng nó khá toàn diện khi nói đến Quản trị Wordpress qua SSL. Cuộn xuống phần về Máy chủ ảo và có thông tin về việc thiết lập wp-admin làm miền phụ.

http://codex.wordpress.org/Administration_Over_SSL

+0

Đúng - tôi đã thử điều này. Tôi đã cập nhật câu hỏi để phản ánh vấn đề tôi đang gặp phải với login.php. – CoffeeMonster

0

Nếu bạn đang sử dụng Apache để phục vụ qua SSL, nhìn vào mod_proxy.

Sử dụng nó, bạn có thể chuyển hướng rõ ràng tất cả các yêu cầu từ https://secure.mysite.com/blog/ đến http://www.mysite.com/blog/.

+0

Tôi đã chạy mod_proxy và làm chính xác điều này. Thật không may wordpress đang buộc các url vào 'https: // www.mysite.com /'. – CoffeeMonster

+0

Kiểm tra chỉ thị 'ProxyPreserveHost'. Bạn cần bật nó lên. Sau đó bạn cần thêm 'ServerAlias ​​secure.mysite.com' vào cấu hình WP vhost. Như một phương sách cuối cùng bạn có thể hack WP để làm những gì bạn cần. Googling tiết lộ một số HOWTO. – sanmai

0

Để cho phép truy cập quản trị cho http://blog.example.com qua https://ssl.example.com/wp-admins/blog/wp-login.php với tinh khiết config Apache vì vậy bạn không phụ thuộc vào các plugin Wordpress và cập nhật mà bạn có thể muốn ...

... sử dụng mod_proxy trên máy chủ ảo Apache apache để chuyển tiếp lưu lượng truy cập, đảm bảo ProxyPreserveHost bị tắt để tên máy chủ trong báo cáo proxy được gửi đi gh đến máy chủ wordpress. Sau đó, mod_substitute được sử dụng (đảm bảo bật) để sửa các liên kết bị hỏng quay lại từ wordpress.

<Location /wp-admins/blog/> 

    AddOutputFilterByType SUBSTITUTE text/html 
    AddOutputFilterByType SUBSTITUTE text/css 
    AddOutputFilterByType SUBSTITUTE application/javascript 
    AddOutputFilterByType SUBSTITUTE application/json 
    Substitute "s|http://blog.example.com|https://ssl.example.com/wp-admins/blog|i" 
    Substitute "s|blog.example.com\\\/|blog.example.com\\/wp-admins\\/blog\\/|i" 
    Substitute "s|'/wp-admin|'/wp-admins/blog/wp-admin|i" 
    Substitute "s|\"/wp-admin|\"/wp-admins/blog/wp-admin|i" 
    Substitute "s|'/wp-includes|'/wp-admins/blog/wp-includes|i" 
    ProxyPassReverseCookiePath//wp-admins/blog/ 

</Location> 

ProxyPass /wp-admins/blog/ http://blog.example.com/ 
ProxyPassReverse /wp-admins/blog/ http://blog.example.com/ 

Để proxy ngược hoạt động, bạn cần chỉ định IP nội bộ của máy chủ lưu trữ blog.example.com. Giải pháp này đảm bảo điều này sẽ làm việc ngay cả khi máy chủ ngược dòng (10.0.0.4) có một số máy chủ ảo dựa trên tên.

10.0.0.4 blog.example.com 

Để biết thêm chi tiết, xem:

http://tec.libertar.se/how-to-host-wordpress-admin-on-a-seperate-domain-and-subfolder/

Các vấn đề liên quan