帮助清理URL

时间:2011-03-01 22:38:00

标签: php apache clean-urls

我是非常新的PHP(事实上大约2天)。在被我最后一个虚拟主机扯掉之后,我决定将我的网站移到另一个主机上。一位朋友一直在帮助我这样做,因为他有一些信息,但我们现在卡住了,我试图在谷歌找到一个解决方案,但大多数答案都是我的头脑。我的网站是一个带有mysql数据库的php站点。我们移动了数据库并ftp了网站,现在一切都在新服务器上运行,除了一件事 - 我的网站最初是为了使用干净的网址而设计的?当我进入我的商店页面(即:mywebsite.com并点击商店链接 - mywebsite.com/shop/(显示在浏览器的左下角)时,我发现页面未找到错误,但是当我输入url mywebsite.com/shop.php页面显示正常。另外,如果我去mywebsite.com/shop/shoes/(另一个链接显示左下角的前一个链接)我得到一个页面未找到错误另外如果我在地址栏中键入mywebsite.com/shop/shoes.php,我也会得到一个页面找不到错误,即使页面shoes.php存在于ftp服务器上的一个名为templates的文件夹中 - 如果我去mywebsite .com / templates / shoes.php它出现了)我明白这叫做干净的网址,我需要添加.htaccess文件来解决问题。我查看了我的旧主机的ftp区域,找不到这个文件但是被告知它可能是隐藏的。我的新提供商告诉我,服务器上提供了mod-rewrite,但我不知道如何编写这个htaccess文件。任何人都可以一步一步地告诉我如何做到这一点,因为我不是一个程序员。

其他详情

我的根目录中有以下文件:index.php,shop.php,checkout.php,completed.php,contact.php ...然后我有一个名为templates的文件夹,在这个文件夹中我有:shoes .PHP。 clothes.php,coats.php ......

我遇到的问题是我的根目录中的大多数php文件已经有href-links?指向像mysite.com/shop/和mysite.com/shop/shoes/这样的地方,所以当我在浏览器中打开主页并将鼠标悬停在链接上时,这些是我看到的地址,当我点击链接时找不到页面,因为borwser必须在错误的地方寻找链接。 (这些链接在我使用的最后一个主机上工作正常)。我知道我需要一个htaccess文件来将这些链接重定向到正确的位置。 - 即mysite.com/shop/shoes/的链接实际上是链接到位于root / templates中的名为shoes.php的页面。我知道这个方法用于整理网址?即:而不是mysite.com/templates/shoes.php网址显示mysite.com/shop/shoes/。我查看了root中某些php页面中的代码,它们都有很多指向这些'false'地址的链接 - 例如:mysite.com/shop/shoes/当实际文件应该在mysite.com/时模板/ shoes.php。我不希望一次一个地浏览每个文件,因为它们是数百个链接,因此尝试制作此htaccess文件的原因。谢谢你的时间,戴夫

2 个答案:

答案 0 :(得分:2)

尝试在FTP客户端软件上找到一个选项以显示隐藏文件。

此文件的名称为.htaccess(点htaccess),这可能是您没有看到它的原因。如果旧网站正在运行,那么该文件可能就在那里。您也可以联系某人通过电子邮件,即时消息等方式向您发送文件。

答案 1 :(得分:0)

你不需要mod_rewrite或.htaccess。

在Apache配置中打开multiviews。这样您就可以省略网址中的.php扩展名。