Mod rewrite 不同文件夹中有多个索引文件?

Mod rewrite 不同文件夹中有多个索引文件?,mod-rewrite,url-rewriting,Mod Rewrite,Url Rewriting,我刚刚发现,如果我的网站中有多个文件夹,比如logout和login,那么我就可以在名为index.php的文件夹中有一个注销/登录页面 现在,当有人转到project.com/login/时,它将加载该文件夹中的index.php文件,url看起来会很好 这样做有什么问题吗 正如Candy指出的那样,最好是通过url重写来完成,而不是对文件夹和索引文件进行重写。我去查了一下,你可以做很多很酷的事情 基本情况如下: 您可以使用apache mod_rewrite模块,该模块允许您透明地(地址

我刚刚发现,如果我的网站中有多个文件夹,比如logout和login,那么我就可以在名为index.php的文件夹中有一个注销/登录页面 现在,当有人转到project.com/login/时,它将加载该文件夹中的index.php文件,url看起来会很好


这样做有什么问题吗

正如Candy指出的那样,最好是通过url重写来完成,而不是对文件夹和索引文件进行重写。我去查了一下,你可以做很多很酷的事情

基本情况如下:

  • 您可以使用apache mod_rewrite模块,该模块允许您透明地(地址栏中的url保持不变)将一个url重定向到另一个url,而不是创建许多文件夹(对开发人员而言)使站点变得混乱,并创建大量index.php文件(如果您一次编辑多个文件,这些文件也会变得混乱)。您可以使用它来清理混乱的url,并使用
    /login/
    而不是
    /login/login.php
    /user/1335591/
    甚至
    /user/'username'/
    ,而不是像下面这样难以记住的丑陋url:
    /user/user.php?user=1335591

  • 要启动,首先在.htaccess文件中打开
    RewriteEngine
    ,将其打开
  • 重定向随后按顺序写入.htaccess文件
  • 下面是一个示例:

  • RewriteRule^products/([0-9][0-9])$/products/$1/[R]

  • RewriteRule^products/([0-9][0-9])/$/productinfo.php?prodID=$1


  • 如果用户在
    products/12
    中键入,第一条规则将在其后面附加一个斜杠。第二条规则将透明地将此URL重定向到
    productinfo.php?prodID=12

    ,正如Candy指出的那样,最好通过URL重写而不是文件夹和索引文件。我去查了一下,你可以做很多很酷的事情

    基本情况如下:

  • 您可以使用apache mod_rewrite模块,该模块允许您透明地(地址栏中的url保持不变)将一个url重定向到另一个url,而不是创建许多文件夹(对开发人员而言)使站点变得混乱,并创建大量index.php文件(如果您一次编辑多个文件,这些文件也会变得混乱)。您可以使用它来清理混乱的url,并使用
    /login/
    而不是
    /login/login.php
    /user/1335591/
    甚至
    /user/'username'/
    ,而不是像下面这样难以记住的丑陋url:
    /user/user.php?user=1335591

  • 要启动,首先在.htaccess文件中打开
    RewriteEngine
    ,将其打开
  • 重定向随后按顺序写入.htaccess文件
  • 下面是一个示例:

  • RewriteRule^products/([0-9][0-9])$/products/$1/[R]

  • RewriteRule^products/([0-9][0-9])/$/productinfo.php?prodID=$1


  • 如果用户在
    products/12
    中键入,第一条规则将在其后面附加一个斜杠。第二条规则将透明地将此URL重定向到
    productinfo.php?prodID=12

    您不需要多个文件夹,您只需要重写URL不需要多个文件夹,您只需要重写URL