Tôi đã nghiên cứu điều này trong khoảng 2 giờ và mặc dù hầu hết các chủ đề đều tương tự nhau, không có cách nào giải thích cách làm những gì tôi muốn làm.Apache viết lại từ tên miền phụ sang www nhưng giữ tất cả các liên kết cố định
Tôi đang dùng một blog có cấu trúc blog.domain.com và di chuyển nó tới www.domain.com/blog/. Tôi cần phải giữ permalink của bài đăng blog khi tôi chuyển hướng như vậy ...
blog.domain.com/here-is-a-blog-post/
nên trở thành:
www.domain.com/blog/here-is-a-blog-post/
Sau khi thử nhiều thứ, đây là điều cuối cùng tôi đã cố gắng kết thúc không có ảnh hưởng gì cả. Ý nghĩa blog.domain.com chỉ nằm ở blog.domain.com/
RewriteEngine on
RewriteCond %{HTTP_HOST} ^xyz\.domain\.com$
RewriteRule ^/(.*) http://domain.com/$1 [redirect,last]
Đây là mục nhập từ tệp httpd.conf của tôi.
<VirtualHost xxx.xxx.xxx.xxx:80>
SSLEngine off
SuexecUserGroup apache apache
ServerName www.domain.com
ServerAlias domain.com
ServerAlias blog.domain.com
ServerAdmin web[email protected]
DocumentRoot /home/domain/www/domain.wiredground.com
ScriptAlias /cgi-bin/ "/home/domain/www/cgi-bin/"
<Directory /home/domain/www/cgi-bin>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Có ai giúp được không?
Cảm ơn!
bạn nên thoát khỏi dấu chấm trong regexp: 'RewriteCond% {HTTP_HOST}^blog \ .domain \ .com $ [NC] ' – Seybsen
oops có cuộc gọi tốt nhờ –
Cám ơn cả các câu trả lời của bạn. Tôi đã thử ý tưởng ban đầu và sau đó thay thế dòng thứ hai bằng RewriteCond của Seybsen nhưng không may mắn. Bạn có thể nghĩ ra một lý do mà khi tôi truy cập http://blog.domain.com rằng không có hành động nào được thực hiện và nó chỉ nằm ở http://blog.domain.com? – user1013465