如何有效地重命名我的URL?

时间:2014-03-20 10:41:02

标签: php apache .htaccess mod-rewrite url-rewriting

让我们说我创建一个关于香蕉,苹果,西红柿和胡萝卜的4页网站,所以我目前有4个.html个文件:bananas.phpapples.php

我想我希望将bananas.php显示为:

domain.com/fruits/bananas-are-good/(因为我看到许多网站都是这样做的),

carrots.php显示为domain.com/vegetables/carrots-info/等等。

意思是我想:

  1. 有一个分类子文件夹
  2. 网址中没有.php
  3. 每个页面都有一个自定义的,更长的名称。
  4. 我有哪些选择以及最适合实现此目的的是什么?

    我知道我可以在我的域名的根文件夹" fruits"中手动创建一个文件夹, 然后创建一个名为&#34的文件夹; bananas-are-good", 然后将bananas.php上传为index.php。

    但我不认为这是专业网站管理员真正做的事情。

    我想你可能会告诉我,可以创建一个.htaccess规则来改变每个" .php"在" /"的网址中,但我仍然需要将我的bananas.php文件重命名为我的计算机/根文件夹上的bananas-are-good.php,我仍然需要创建"水果"文件夹,这是不舒服以防我想通过ftp 立即更新我网站上的所有.php文件(因为我必须手动转到每个子文件夹,并上传相关文件,而不是一次上传所有内容) - 如果我有20个文件夹怎么办?这会让人筋疲力尽,效率低下。

    我还需要将这些页面相互链接,我不确定它们应该如何链接?我是否必须使用绝对网址? (例如将我的apples.php中的链接从当前<a href = "bananas.php">更改为<a href = "http://domain.com/fruits/bananas-are-good/">(这也适用于META标记rel=canonical)。

    我还想保留让访问者到达mydomain.com/vegetables/carrots-info/?referrer=name等链接的选项(如果有任何问题)。

    那么最好的全方位解决方案是什么?我希望有一个简单,免费,快速的解决方案,不需要复杂的技术技能(也不需要安装任何东西),这将允许我继续使用FTP来更新网站,而不是某种类型一个网络界面。

    谢谢!

1 个答案:

答案 0 :(得分:0)

您只需编辑.htaccess文件,并按以下方式添加必要的行:

RewriteEngine On
RewriteRule ^fruits/bananas_are_good/?$ banana.php [L]
RewriteRule ^vegetables/carrots-info/?$ carrots.php [L]