如何配置Apache以将文件名显示为目录?

时间:2015-02-22 05:17:24

标签: apache .htaccess url mod-rewrite

例如,我宁愿CreateAccount.php在客户的角度显示为http://www.example.com/CreateAccount/。我知道创建大量目录并用index.php填充每个目录会很容易,但我宁愿做最有效的事情。首先,使用该方法需要高度无组织且不必要的复杂组织标准。其次,我还要充分利用Apache的功能,即mod_rewrite

我知道有mod_rewrite。我已经开始阅读该模块的文档,但我很快就会感到困惑而且有点沮丧,因为我有多动症,所以当我知道我不明白时很难坐下来阅读我在读什么。

你能帮我找到最好的方法吗?

1 个答案:

答案 0 :(得分:1)

接近mod_rewrite的最佳方法是创建测试服务器/虚拟主机并慢慢构建配置。另外,尝试使初始规则非常简单,这样您就可以准确理解每个规则的作用。此配置可以帮助您开始您的过程。最后一条规则是将CreateAccount / path映射到CreateAccount.php脚本所需的内容。

<IfModule mod_rewrite.c>
    RewriteEngine On

    # You can use this only inside of the Directory directive or in the .htaccess file.
    RewriteBase /

    # http://www.example.com/page.html to redirect to http://www.example.com/page.php 
    RewriteRule ^(.*).html /$1.php [L]

    # http://www.example.com/mypath/page.html to redirect to http://www.example.com/mypath/page.php 
    RewriteRule ^mypath/(.*).html /mypath/$1.php [L]

    # http://www.example.com/CreateAccount/ to redirect to http://www.example.com/CreateAccount.php 
    RewriteRule ^(.*)/ /$1.php [L]
</IfModule>