【问题标题】:Using .htaccess to Execute php if directory of the same name not found如果未找到同名目录,则使用 .htaccess 执行 php
【发布时间】:2017-10-20 11:08:03
【问题描述】:

如果找不到同名目录,我想执行 php。它在 Wamp 上运行良好,因为它已经在其 Apache httpd.conf 中进行了配置,但我不知道如何处理 .htaccess。
例如:www.example.com/directory1/directory2/...../.......
实际上根目录下没有directory1文件夹,但只有一个php文件名“directory1.php”
所以我希望www.example.com/directory1/directory2/执行一个php文件名“directory1.php”
如果找不到该名称的文件夹。
简而言之,如果有一个文件夹,它将跟随该文件夹目录,但如果没有文件夹,那么它将执行网站 url 之后的 php 文件中的第一个目录,没有 .php 扩展名。
所以那个 php 应该能够执行在“www.example.com/directory1/”后面有斜线或没有斜线“www.example.com/directory1”。

【问题讨论】:

  • 大部分配置可以从 httpd.conf 移植到 .htaccess。获取启用该功能的 WAMP 配置部分并在 .htaccess 中尝试。如果它不起作用,请在此处发布,然后我们可以看看。你必须先尝试和研究。
  • 我已经尝试过研究,但是该配置文件中不仅有 1 或 2 行,所以我不知道是哪 1 行,而且我不理解那些配置,因为我从来不知道它以前,新的。

标签: php apache .htaccess mod-rewrite


【解决方案1】:

检查请求的URL是否既不是目录也不是文件,然后用第一个文件夹的名称重写PHP文件

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

【讨论】:

  • 谢谢,它可以工作,但我只是不懂它的语言,因为它对我来说是新的。
  • 如果没有这样的php文件和目录我想回到index.php
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
相关资源
最近更新 更多