Tuyến đường con đến thư mục con với htaccess trên wordpress


8

Tôi đang cố gắng tạo một tên miền phụ sub.domain.comhiển thị domain.com/submà không thay đổi thanh địa chỉ.

Tôi đã đưa ra quy tắc .htaccess sau dựa trên các câu hỏi khác được đưa ra ở đây:

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [L,NC]

Vấn đề là tôi đang sử dụng một phiên bản WordPress và .htaccess của tôi hiện tại trông như thế này:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [L,NC]

Nhưng khi tôi duyệt sub.domain.com, tôi đang được chuyển hướng đến trang chủ của mình (domain.com) từ WordPress. Làm thế nào tôi có thể làm điều này một cách chính xác?


Đã thử thay đổi nó thành:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^((?!sub/).*)$ /sub/$1 [NC]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>

Nhưng nó vẫn không hoạt động


Quy tắc đó phải đến trước quy tắc wordpress và nó không nên Lđặt cờ.
arkascha

@arkascha đã chỉnh sửa câu hỏi, đã thử giải pháp của bạn nhưng nó không hoạt động
J0ker98

Bạn có thể kiểm tra cài đặt Cpanel của mình không và cũng có thể kiểm tra địa chỉ trang web
Pratik bhatt

@Pratikbhatt Tôi không sử dụng cPanel, tôi đang sử dụng Amazon AWS Lightsail với phiên bản Bitnami WordPress
J0ker98

Câu trả lời:


2

Bạn phải tạo một máy chủ ảo trong cấu hình apache.

<VirtualHost *:80>
    ServerName sub.domain.com
    DocumentRoot /var/www/sub
</VirtualHost>

Hoặc VirtualDocumentRootnếu mod_vhosts_alias được bật.

<VirtualHost *:80>
    ServerName sub.domain.com
    ServerAlias *.domain.com
    VirtualDocumentRoot /var/www/%1
</VirtualHost>

Ở trên tôi đang chỉ nó vào thư mục / phụ nếu nó tồn tại. Sau khi tất cả các thay đổi khởi động lại máy chủ.


1

Bạn có thể thêm dòng mã bên dưới vào tệp wp-config.php của mình

define('WP_HOME','http://sub.domain.com');
define('WP_SITEURL','http://sub.domain.com');

Tôi không cố gắng thay đổi tên miền wordpress, tôi muốn có wordpress của mình trong tên miền chính và một tên miền phụ tùy chỉnh hiển thị nội dung từ thư mục con trên máy chủ web của tôi
J0ker98
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.