【问题标题】:setup Directory Index dynamically动态设置目录索引
【发布时间】:2015-03-01 10:51:40
【问题描述】:

我正在使用 php 开发一个 Web 应用程序。我需要为每个文件夹动态设置目录索引。 如何为我在 Apache 中创建的每个文件夹设置除 index.php 以外的目录索引?

我目前的文件夹结构如下:- localhost/cargoINT/processes/shipment/shipment.php

当系统重定向到 localhost/cargoINT/processes/shipment/shipment.php 时,我希望它变成如下:-

localhost/cargoINT/processes/shipment

我怎样才能使用 php 或任何其他方式(如 .htaccess)来完成这项工作?请详细说明

感谢您的时间和考虑

【问题讨论】:

  • 您所有的index 文件总是与其父文件夹同名吗?另外,您的 htaccess 在哪里?在根文件夹或子文件夹中?
  • @JustinIurman 是的,我的 htaccess 位于根文件夹中。所以每当我创建一个文件夹时,我希望服务器自动设置与父文件夹同名的索引文件。

标签: php apache .htaccess directoryindex


【解决方案1】:

您可以在/cargoINT/processes/shipment/.htaccess 文件中使用此代码:

RewriteEngine On
RewriteBase /cargoINT/processes/shipment/

RewriteRule ^$ shipment.php [L]

【讨论】:

  • 感谢您的回答,但我如何为我创建的每个文件夹动态地执行此操作?我必须手动为每个文件夹设置吗?
  • 在每个文件夹中都找到shipment.php 吗?
  • 鉴于你的问题中的这个陈述我如何设置 index.php 以外的目录索引如果每个子目录中的其他文件名发生变化,那么你将需要像我这样的类似规则显示在上面的每个子目录中。
【解决方案2】:

您可以将此代码放在您的 htaccess 中(必须在根文件夹中)

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{DOCUMENT_ROOT}/$1/$2/$2\.php -f
RewriteRule ^(.+?)/([^/]+)/?$ /$1/$2/$2.php [L]

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{DOCUMENT_ROOT}/$1/$1\.php -f
RewriteRule ^([^/]+)/?$ /$1/$1.php [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 2011-09-05
    相关资源
    最近更新 更多