php - 如何使用 .htaccess 加载默认索引文件以获取 url 中的可变目录结构

标签 php .htaccess

假设我的网站结构是这样的:

www.mywebsite.com/directory/$variabledirectoryname/$variableproductlink

正如你在中间看到的,我的网址中有 2 个变量,但最后一个是产品链接。我的 index.php 文件位于 www.mywebsite.com/directory/$variabledirectoryname 文件夹中。如何加载呢? 我有这个代码:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/?$ index.php [L]

但它不起作用..谢谢!

最佳答案

您可以在/directory/.htaccess中使用此规则:

RewriteEngine On
RewriteBase /directory/

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

更新:

您可以在 root .htaccess 中使用此规则:

RewriteEngine On
RewriteBase /

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

关于php - 如何使用 .htaccess 加载默认索引文件以获取 url 中的可变目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31424047/

相关文章:

php - 在 codeigniter 中动态设置我的配置变量后,如何从其他 Controller 和模型访问它们?

php - 将字符串转换为数字并返回字符串?

php - Wordpress(在 Rackspace 服务器上)强制整个网站通过 SSL,除了一页

.htaccess - htaccess SetEnvIf 为真

.htaccess Safari 中的重定向过多

php - 未处理的异常 : FormatException: Unexpected character (at character 1) Flutter

php - 编辑表单以清理/验证电话号码

php - PHP 上传和 MySQL 插入后的白色空图像

php - 301重定向URL也被重写

url-rewriting - 如何允许 WordPress 和 Laravel 通过 htaccess 共享顶级 URL