在地址栏中将URL“localhost / rootdirectory / folder1 / two.html”更改为“localhost / rootdirectory-folder1-two”

时间:2013-01-30 12:20:50

标签: php .htaccess mod-rewrite url-shortener

我对这个论坛非常陌生。也适用于PHP开发。
我想完全学习.htaccess概念,我知道.htaccess用于配置apache 我尝试了很多网站但却无法理解。

我有一个查询,project是我的根目录,其中包含index.html文件和一个包含如下子文件夹的文件夹:

project
   |__index.html
   |__one
       |__two
           |__two.html   

index.html包含指向two.html的锚链接,然后我可以在地址栏中看到地址栏中的localhost/project/one/two/two.php

我想更改网址

localhost/project/one/two/two.php

localhost/project-one-two-two

如果我得到确切的结果,那将非常有用。

提前致谢

1 个答案:

答案 0 :(得分:0)

这是最简单的静态映射,易于理解。

RewriteEngine On
RewriteRule project-one-two-two /project/one/two/two.php [L]

更多动态规则,适用于任何“dir-dir-dir-file”类型的网址:

RewriteRule ([a-z]*)-([a-z]*)-([a-z]*)-([a-z]*) /$1/$2/$3/$4.php [L]

您可以使用Htaccess Tester来测试RewriteRules的结果