Php 使用.htaccess重定向子域
我在我的主机上设置了一个子域:Php 使用.htaccess重定向子域,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我在我的主机上设置了一个子域:indiantemes.indianradio.net.au,它是从我的/public\u html文件夹中的一个文件夹中提取的:/public\u html/indiantemes.com.au 我正在尝试编写一个.htaccess规则,将其重定向到该文件夹,但保留用户键入的原始url:indiantemes.indianradio.net.au 我只能让重定向工作,即(indianradio.net.au重定向到indianradio.net.au/indian
indiantemes.indianradio.net.au
,它是从我的/public\u html
文件夹中的一个文件夹中提取的:/public\u html/indiantemes.com.au
我正在尝试编写一个.htaccess规则,将其重定向到该文件夹,但保留用户键入的原始url:indiantemes.indianradio.net.au
我只能让重定向工作,即(indianradio.net.au
重定向到indianradio.net.au/indianradio.com.au/
),但我似乎无法让重定向工作,因此用户看到的url停留在:indianradio.net.au
。大多数的图像URL都被破坏了,直到我能够让重定向正常工作
我使用的.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]
重定向有什么不对吗?任何帮助都将不胜感激!提前谢谢 对于子域,通常建议在apache中添加一个virtualhost,而不是使用.htaccess(性能和更跨平台)。
但是,您可能会发现以下链接适用于无法编辑apache配置文件的情况:(摘要:使用mod proxy并将P标志添加到重写规则)
/etc/apache2/sites available
(在终端中使用cd
)<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>
DocumentRoot/var/www/indianradio.net.au/public_html/indiantemes.com.au/
ServerName indiantemes.indianradio.net.au
选项索引如下符号链接多视图+包含
不允许超限
命令允许,拒绝
通融
ErrorLog${APACHE_LOG_DIR}/error-logfile.LOG
#可能的值包括:调试、信息、通知、警告、错误、临界值、,
#警惕,埃默格。
日志级别警告
CustomLog${APACHE_LOG_DIR}/access-logfile.LOG组合
在终端:
ln-s./indiantemes.indianradio.net.au../sites enabled/
的站点可用文件夹中,注意尾部的/
您必须将子文件夹名称替换为与子域相同的名称
(indiantemes.com.au->indiantemes)
这是共享主机,因此我无法使用virtualhost。我正在查看您现在发送的链接,了解如何修改htaccess。谢谢@McWayWeb不客气,请注意,几乎所有共享主机帐户都有添加子域的接口(以正确的方式)
RewriteRule^/?$“http\:\/\/indianradio\.net\.au\/public\u html\/indiantemes\.com\.au”[R=301,L]
应该是这样的:RewriteRule^/indiantemes.com.au/$1[R=301,L,P]
(未经测试,不久前已从apache切换)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^indiantimes\.indianradio\.net\.au$
RewriteCond %{REQUEST_URI} !^/indiantimes/
RewriteRule (.*) /indiantimes/$1