我的托管设置了一个子域名:indiantimes.indianradio.net.au
,该文件位于我/public_html
文件夹中的文件夹中提取:/public_html/indiantimes.com.au
。
我正在尝试编写一个.htaccess规则,该规则会将其重定向到该文件夹,但保留用户输入的原始网址:indiantimes.indianradio.net.au
。
我只能使重定向工作,即(indiantimes.indianradio.net.au
重定向到indianradio.net.au/indiantimes.com.au/
),但我似乎无法使重定向工作,因此用户看到的网址仍然存在at:indiantimes.indianradio.net.au
。大多数图片网址都被破坏了,我可以让重定向正常工作。
我正在玩的.htaccess规则是:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^indiantimes\.indianradio\.net\.au$ [OR]
RewriteCond %{HTTP_HOST} ^www\.indiantimes\.indianradio\.net\.au$
RewriteRule ^/?$ "http\:\/\/indianradio\.net\.au\/public_html\/indiantimes\.com\.au" [R=301,L]
我在重定向方面做错了什么?任何帮助将非常感激!提前谢谢!
答案 0 :(得分:1)
您必须将子文件夹名称替换为与子域名相同
(indiantimes.com.au - > indiantimes)。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^indiantimes\.indianradio\.net\.au$
RewriteCond %{REQUEST_URI} !^/indiantimes/
RewriteRule (.*) /indiantimes/$1
答案 1 :(得分:0)
对于子域,通常建议在apache中添加虚拟主机,而不是使用.htaccess(性能方面和更多跨平台)。
但是,您可能会发现以下链接适用于编辑apache配置文件不是一个选项:.htaccess rewrite subdomain to directory(摘要:使用mod-proxy并将P标志添加到您的RewriteRule)
转到/etc/apache2/sites-available
(在终端中使用cd
)
添加一个名为:indiantimes.indianradio.net.au的新文件,示例内容:
<VirtualHost *>
DocumentRoot /var/www/indianradio.net.au/public_html/indiantimes.com.au/
ServerName indiantimes.indianradio.net.au
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews +Includes
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error-logfile.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access-logfile.log combined
</VirtualHost>
链接到apache2 / sites-enabled
:来自sites-available文件夹的ln -s ./indiantimes.indianradio.net.au ../sites-enabled/
,请注意尾随/
!