继承的PHP站点无法查找资产

时间:2013-01-24 21:46:28

标签: php redirect webserver

我从另一个开发者那里继承了一个PHP网站,并且无法弄清楚出了什么问题。我怀疑在某处有某种重写规则,但我不知道在哪里看(或者具体要寻找什么......)

我安装了MAMP,它运行正常。我有几个站点在MAMP目录中运行没有问题。

当我删除此站点并尝试运行页面时,我得到的页面没有CSS,JavaSCript或图像。当我右键单击“图像并在新选项卡中打开它时,无法找到图像,因为浏览器尝试将目录中的一个级别上升到MAMP目录而不是查看站点根目录。” / p>

在链接到其他页面时,它们都试图进入MAMP htdocs目录。

例如在htdocs中我有我的网站的根文件夹和索引页面:'htdocs / mysite.com / index.php'

在该页面上是指向另一个页面<li class="nav_company"><a href="/company/index.php" title="Company">Company</a>

的链接

单击“公司”会导致浏览器转到htdocs文件夹并查找“/company/index.php”,这当然不存在。

我在哪里寻找罪魁祸首?我可以搜索网站文件的术语或内容吗?我正在使用Dreamweaver,如果我只知道要去寻找什么,那就冷使用查找和替换工具......

编辑这是网站根文件夹中的(已清理的).htaccess文件

Options +FollowSymLinks 
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sitename\.com
RewriteRule (.*) http://www.sitename.com/$1 [R=301,L] 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.html\ HTTP/ 
RewriteRule ^(([^/]+/)*)index\.html$ http://www.sitename.com/$1 [R=301,L] 

Redirect 301 /products/ http://www.sitename.com/plastic-handles/
Redirect 301 /plastic/index.html http://www.sitename.com/plastic/plastic.html
Redirect 301 /applicator/index.html http://www.sitename.com/applicator/applicators.html
Redirect 301 /company/index.html http://www.sitename.com/company/about-us.html
Redirect 301 /contact/index.html http://www.sitename.com/contact/contact-us.html
Redirect 301 /news/index.html http://www.sitename.com/news/news.html
Redirect 301 /trade/index.html http://www.sitename.com/trade/tradeshows.html

提前致谢。

1 个答案:

答案 0 :(得分:0)

您的资产和链接似乎都指向根目录,因此/contact/index.php会查看http://localhost/contact/index.php而不是http://localhost/mysite.com/contact/index.php

查看设置虚拟主机以指向新站点目录。

否则会将所有链接和资产更改为完整的URL,例如http://localhost/mysite.com/contact/index.php

希望这有帮助

编辑:以下是设置虚拟主机http://sawmac.com/mamp/virtual/

的指南

编辑2:为了响应您的编辑,.htaccess不会产生任何影响,因为当您单击链接或服务器查找资产时,它将在htdocs /中查找。它不会再进一步​​,因此无法到达你的.htaccess。