Tôi đã sử dụng các quy tắc sau trong tệp htaccess trong các ứng dụng khác để chuyển hướng người dùng từ thư mục đến tên miền phụ nhưng tải nội dung từ thư mục đó khi truy cập tên miền phụ đó.CakePHP subdomains với htaccess
# REWRITE SUBDOMAIN TO FOLDER
RewriteCond %{HTTP_HOST} ^admin\.cameron\.com$
RewriteRule !^admin/? admin%{REQUEST_URI} [NC,L]
# REWRITE FOLDER TO SUBDOMAIN
RewriteCond %{THE_REQUEST} \s/admin/([^\s]*) [NC]
RewriteRule^http://admin.cameron.com/%1 [R=301,L]
Vì vậy, nếu tôi đi đến: http://cameron.com/admin
tôi kết thúc trên http://admin.cameron.com/
Nhưng nội dung được tải từ http://cameron.com/admin
Tuy nhiên điều này không làm việc cho CakePHP 2.x vì viết lại nó rõ ràng ...
trong file .htaccess của tôi trong /app/webroot
tôi có:
<IfModule mod_rewrite.c>
RewriteEngine On
# CAKEPHP RULES
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
# REWRITE SUBDOMAIN TO FOLDER
RewriteCond %{HTTP_HOST} ^admin\.cameron\.com$
RewriteRule !^admin/? admin%{REQUEST_URI} [NC,L]
# REWRITE FOLDER TO SUBDOMAIN
RewriteCond %{THE_REQUEST} \s/admin/([^\s]*) [NC]
RewriteRule^http://admin.cameron.com/%1 [R=301,L]
</IfModule>
Nếu tôi truy cập: http://cameron.com/admin
nó chỉ cố gắng tải AdminController và không chuyển hướng bạn, và nếu tôi đi đến: http://admin.cameron.com/
Tôi chỉ nhận được 500 lỗi máy chủ nội bộ.
Bất kỳ ý tưởng nào về cách làm việc này cho CakePHP?
Nếu tôi đúng, bạn chỉ muốn thay đổi url để trỏ đến tên miền phụ? – Daniel
Thử thêm câu lệnh này RewriteBase/app/webroot sau khi RewriteEngine On trong webroot của bạn .htaccess tập tin – SoftwareCarpenter