IT技术博客大学习 共学习 共进步

htaccess二级目录重写找不到路径

排头兵-互联网开发实践 2010-03-08 23:11:31 浏览 6,761 次

首先申明一下:使用.htaccess文件,会降低httpd服务器的一点性能.h
我们一般会把客户的网站放在自己的网站的目录下面,
比如FTP:/home/ftp/www,
有一个网站http://www.example.com,
那么新建一个网站的目录为http://www.example.com/newsite/,
我们这个项目是使用qeephp开发的,使用qeephp的路由重写功能,在把网站上传到服务器上,
使用了虚拟目录Alias,因为不想看到类似http://www.example.com/newsite/public/这样的路径,
于是外部访问地址是http://www.example.com/newsite,
在我启用了qeephp的rewrite时,一直说找不到路径,/home/ftp/www/newsite/,很奇怪。
仔细阅读htaccess的文档,发现有一个BaseDir参数
在htaccess 中添加

RewriteEngine on
RewriteBase /twosisters
 
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

问题就解决.
估计把index.php改成绝对路径也没有问题。

建议继续学习

  1. .htaccess功能简明教程 (阅读 7,562)
  2. 使用.htaccess 开启gzip 缓存文件 网页 提高速度 (阅读 7,480)
  3. .htaccess是什么? (阅读 7,180)
  4. Bash如何取得当前正在执行的脚本的绝对路径? (阅读 5,844)
  5. .htaccess的301跳转 (阅读 4,001)
  6. Apache设置帐户验证[.htaccess] (阅读 3,781)
  7. 启用Mod Rewrite和.htaccess (阅读 3,760)
  8. Htaccess文件用法集锦 (阅读 3,000)
  9. 为什么 Windows 的文件系统会有盘符,使用反斜杠分割路径 (阅读 2,960)
  10. XML路径语言:XPath (阅读 2,861)