Làm cách nào tôi có thể tạo một mục menu trên một tên miền phụ khác?


8

Tôi muốn tạo một cấu trúc menu như thế này trong Joomla 2.5:

  • Rễ ( www.example.com)
    • Giới thiệu ( www.example.com/about)
    • Trang web a ( a.example.com)
    • Trang web b ( b.example.com)

Có thể tạo các mục menu với các tên miền phụ khác nhau và làm cách nào để tạo chúng? Tôi đã làm việc với CMS "typo3" trước đây và không có vấn đề gì trong việc này, nhưng một tìm kiếm dài qua internet không giúp tôi giải quyết vấn đề này.

EDIT: Lưu ý rằng a.example.comb.example.comtrên cùng một cài đặt Joomla, vì vậy tôi muốn tạo một "Bài viết đơn" mới với một tên miền phụ.


1
Vui lòng cung cấp cho chúng tôi thêm thông tin về thiết lập Joomla của bạn. Làm thế nào bạn phục vụ các tên miền phụ từ một cài đặt Joomla?
TryHarder

1
Nội dung cho trang a và trang b là gì? Đây chỉ là các mục menu đơn liên kết đến một bài viết hay chúng mạnh mẽ hơn với các trang và menu riêng của chúng?
David Fritsch

Tôi xin lỗi tôi đã không có thời gian để trả lời ngày hôm qua. Tôi sẽ phục vụ các tên miền phụ đó cho cùng một cài đặt Joomla và hơn j Joomla hoặc một thành phần phải thực hiện chuyển hướng (a.example.com chứ không phải www.example.com/a.hmtl)
Marc T.

Câu trả lời:


4

Tôi chưa thử, nhưng Artio JoomSef tuyên bố sẽ cung cấp chức năng như vậy.
Bạn có thể chỉ định các phần của trang web của bạn sẽ được sử dụng cho các tên miền phụ khác nhau. Nó có thể là giá trị để kiểm tra nó.

Tài liệu của Artio JoomSEF

JoomSEF - Cấu hình tên miền con

Nếu bạn đang tìm kiếm các cấu hình phức tạp hơn, các tiện ích mở rộng Joomla MultiSites cho phép bạn chạy nhiều trang web j Joomla, từ một cài đặt, với các cấu hình khác nhau. Một liên kết đến phần JED này được cung cấp trong một câu trả lời khác ở đây.


Đây là một cái nhìn ngắn khá nhiều những gì tôi muốn. Tôi cũng biết nhiều trang web thành phần, nhưng tôi không muốn nhiều trang web.
Marc T.

2

Đối với các mục menu bạn cần liên kết đến tên miền phụ của mình, hãy truy cập:

menu-item parameters > menu item type > system links > choose "External URL"

Sau đó, trong Linktrường bạn có thể nhập URL của tên miền phụ của bạn.


Xin lỗi, tôi không đủ rõ ràng. Tôi đã thực hiện một chỉnh sửa ở trên. Nó phải là cùng một cài đặt j Joomla VÀ cùng một trang web.
Marc T.

1

Bạn thực sự không thể làm điều này với Joomla bản địa, nhưng bạn có thể sử dụng một tiện ích mở rộng cố gắng giúp bạn làm điều này.

Bạn có thể tìm thấy chúng tại JED


1

Nếu bạn không muốn sử dụng một thành phần bên ngoài cho việc này, thì bạn có thể tạo một URL bên ngoài trong menu trỏ đến a.example.comvà sử dụng .htaccesstệp của bạn để lấy nội dung từ liên kết hiện có của trang web của bạn.

Ví dụ

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^a.example.com
    RewriteRule ^(.*) http://example.com/$1 [P]
</IfModule>

Giả sử, nếu người dùng của bạn truy cập URL này a.example.com/user/sd, thì nội dung sẽ có example.com/user/sdmà không thay đổi URL thực tế trên trình duyệt.

Chỉ .htaccesssử dụng phương pháp này nếu bạn đã quen với việc sử dụng tệp và ok với chỉnh sửa thủ công. Điều này hữu ích nếu bạn không muốn sử dụng toàn bộ tiện ích mở rộng mới chỉ trong vài url.


0

Tôi biết câu hỏi này hơi cũ nhưng tôi đã tự hỏi điều tương tự và đây là giải pháp tôi đã đưa ra nếu bạn thay đổi tệp index.php với một chút mã bổ sung, bạn có thể tạo nhiều vị trí mô-đun dựa trên tên miền phụ và sau đó bạn chỉ định mục menu chính xác cho tên miền phụ có liên quan.

    $dom = explode ( '.', str_replace ( '//', '.', JURI::base () ) ) ;
    $sub = ( in_array ( 'plus', $dom ) ? 'plus' : ( in_array ('group', $dom) ? 'group' : 'home' ) ) ;
    if ($this->countModules('navigation'.$sub )) : ?>
        <nav class="navigation">
            <jdoc:include type="modules" name="navigation<?php echo $sub ?>" style="html5" />
        </nav>
    <?php  endif; ?>

Trong ví dụ trên, dòng bắt đầu $ sub là những gì bạn cần tùy chỉnh cho trang web của riêng bạn, hiện tại ví dụ này tạo một khoảng trống cho mô-đun điều hướng tùy thuộc vào tên miền phụ - điều này được tạo cho một trang web có hai tên miền phụ và một tên miền chung và do đó, nó tạo ra ba vị trí điều hướng cho mỗi tên miền phụ - navigationhome navigationplus và navigationgroup.

Một vài điều cần lưu ý với mã -

để tìm tên miền phụ tôi đã sử dụng hàm in_array. Tôi có thể đã sử dụng câu lệnh chuyển đổi trên $ dom [1] để tìm tên miền phụ nhưng điều này sẽ không hoạt động nếu ai đó gõ một cái gì đó như www.plus.mysite.co.uk vì www sẽ ở $ dom [1] ... ví dụ

    switch ( $dom[1] )
    {
        case 'group' : $sub = 'group' ; break ;
        case 'plus' : $sub = 'plus' ; break ;
        default : $sub = 'home' ; break ;
    }

Explode ban đầu sử dụng str numplace để thay thế // bằng. điều này là để http / https ban đầu kết thúc trong mảng riêng của nó ($ dom [0] sẽ luôn chứa http / https mà tôi cho rằng có thể được sử dụng thêm nếu bạn muốn hiển thị các trang web khác nhau tùy thuộc vào giao thức được tải, nếu điều đó sau đó không có ai đó đưa vào một cái gì đó như http://plus.mysite.co.uk thì mảng đầu tiên sẽ chứa http: // plus và in_array sẽ không trả lại kết quả.

Hãy nhớ rằng nếu tên miền phụ giống với tên miền trang web thì bạn cần chắc chắn rằng đó là tên miền cuối cùng trong? : chuỗi câu lệnh nếu không nó sẽ tự gán cho các tên miền phụ khác - ví dụ: nếu bạn có hai tên miền phụ được gọi là site.site.co.uk và trang web khác1.site.co.uk thì câu lệnh sau sẽ hoạt động

    $sub = ( in_array ( 'site1' ) ? 'site1' : ( in_array ( 'site' ) ? 'site' : 'site' ) ) ;
    //it never reaches the in_array ( 'site' ) if sub domain is site1

nhưng cả hai sẽ không hoạt động đúng trong tình huống đó ...

    $sub = ( in_array ( 'site' ) ? 'site' : ( in_array ( 'site1' ) ? 'site1' : 'main' ) ) ; 
    // all domains would be referred to as site because XXX.site.co.uk provides a match
    $sub = ( in_array ( 'site1' ) ? 'site1' : ( in_array ( 'site' ) ? 'site' : 'main' ) ) ; 
    // www.site.co.uk would still be site and not main

Bạn không thể sử dụng những thứ này theo cách này nhưng đáng chú ý.


-1

Có, bạn có thể tạo cấu trúc menu đó trong Joomla. Nói chung, các mục menu trỏ đến một khung nhìn trong một thành phần chỉ định mục đó và các tham số khác.

Khi bạn cài đặt Joomla với dữ liệu demo học tập, bạn sẽ nhận thấy hai trang web mẫu hoàn toàn khác nhau, bao gồm bản demo học tập, dạy cho bạn mọi thứ về Joomla.


Bạn có thể giải thích về điều này? Tôi chưa bao giờ thấy một tên miền phụ được sử dụng như thế này với thiết lập Joomla j stock. Nó luôn yêu cầu một plugin SEF để ghi đè lên các công cụ chứng khoán. Hai trang web tìm kiếm khác nhau có, nhưng không phải từ menu với tên miền phụ là url của họ.
Brian Peat

Nội dung của một trang web Joomla không liên quan đến tên miền (phụ). Bạn cấu hình mạng và máy chủ web của bạn để đối phó với điều đó.
sovainfo

Đúng, nhưng câu trả lời của bạn không thực sự đưa ra một giải pháp. Tôi nghi ngờ giải pháp bao gồm thiết lập dns chính xác và sau đó sử dụng liên kết menu bên ngoài để gửi người dùng đến tên miền phụ. Mặt khác, bạn chỉ kết thúc tại một trang thông thường trong j Joomla (nếu bạn chỉ cần liên kết đến một bài viết). Nó hoàn toàn không phải là một thiết lập chuyển tiếp.
Brian Peat

Không có hướng dẫn rõ ràng. Nhớ lại việc thiết lập hai cửa hàng bằng cách sử dụng hikashop theo cách này, nhiều năm trước. Đừng nhớ lại các chi tiết. Bạn có thể muốn một số thứ trong .htaccess để chuyển đến các url thích hợp. Rất nhiều tùy thuộc vào yêu cầu của bạn.
sovainfo

Tôi sẽ đề nghị loại bỏ câu trả lời này sau đó. Nó thực sự không cung cấp cho OP rất nhiều thông tin.
Brian Peat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.