当前位置: 代码迷 >> PHP >> .htaccess域名重写有关问题
  详细解决方案

.htaccess域名重写有关问题

热度:766   发布时间:2012-09-04 14:19:30.0
.htaccess域名重写问题?
比如同一个支持php空间和同时绑定有2个域名www.aaa.com和www.bbb.com;
假如该空间至少包含以下文件和目录(文件夹):
(注:根目录下的目录或文件和bbb下文件名可可能相同但内容不一定相同所有不能共用)
index.php
text/about.html
tp/logo.jpg
aaa.php
error.html
robots.txt

bbb/index.php
bbb/text/about.html
bbb/tp/logo.jpg
bbb/bbb.php
bbb/error.html



当用aaa.com或www.aaa.com域名开头来访问时,表现为正常访问形式
(没重写,直接访问该空间根目录下的目录或文件、主页,),比如:
http://www.aaa.com或用http://aaa.com来访问时,指向index.php 页面,
如果包含目录的也直接访问根目录下的相应文件夹里的文件,
比如http://www.aaa.com/text/about.html 也是直接访问根目录下text文件夹下的about.html页面,
点击页面上的页面的链接也正常;


当用bbb.com域名开头来访问时,则全部重写(指向)到根目录的bbb文件夹下的目录或文件;比如:
当用http://www.bbb.com或http://bbb.com 来访问时,地址栏显示为http://www.bbb.com (域名显示不变)但实际访问的是 bbb/index.php 页面;
当用 类似 http://www.bbb.com/目录/目录/文件名 的形式来访问时,重写(指向)到根目录的bbb文件夹下的目录或文件;
比如:
当用http://www.bbb.com/bbb.php 地址栏显示为http://www.bbb.com/bbb.php(域名显示不变)但实际访问的是 http://www.bbb.com/bbb/bbb.php 页面;
当用http://www.bbb.com/text/about.html 地址栏显示为http://www.bbb.com/text/about.html(域名显示不变)但实际访问的是 http://www.bbb.com/bbb/text/about.html 页面;
意此类推;
页面上的链接和地址指向也正常,都是bbb目录下的相应页面或文件;

最好是无相应的页面时跳转到对应的error.html页面;
比如当用http://www.bbb.com/aaa.php 由于重写到bbb/文件夹下没有aaa.php文件(虽然根目录下有此文件),从而会跳站到bbb/error.html页面??


自己学着写的或网上抄的总会有问题,
希望各位路过的高手指教!!!




------解决方案--------------------
你说一大堆不知你要什么
你想把什么url变成什么url
------解决方案--------------------
在bbb文件夹下创建.htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^bbb/bbb.php$ bbb.php
</IfModule>
  相关解决方案