apache - 如何使用 htaccess 将以下 urls 模式重写为特定的 php 文件?
问题描述
我有两个动态 url,我想在不同的 php 上重定向。问题是两个网址都是动态的。所以我很难捕捉到模式并重定向它们。我在谷歌上搜索并找到了许多示例,但所有示例 url 都包含一些要捕获的模式。
下面是我的示例网址以及相应的 php。
https://www.example.com/my-dynnamic-category/my-dynamic-url-id/
应该重定向到https://www.example.com/detail.php?p=my-dynamic-url-id
https://www.example.com/my-dynamic-category/
应该重定向到https://www.example.com/category.php?p=my-dynamic-category
谁能帮帮我吗。
我尝试使用以下规则进行 detail.php 重定向,
RewriteRule ^\/detail/?$ /detail.php?url=$1$2 [R=301,L]
但是这个规则的问题是它只有在 url 包含单词详细信息时才有效
解决方案
使用您显示的尝试/规则,请尝试在您的 .htaccess 文件中遵循以下规则。请确保在测试您的 URL 之前清除您的浏览器缓存。
RewriteEngine ON
##Rules for handling https://www.example.com/my-dynamic-category/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/?$ category.php?p=$1 [L]
##Rules for handling https://www.example.com/my-dynnamic-category/my-dynamic-url-id/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/(.*)/?$ detail.php?p=$2 [L]
推荐阅读
- powerbi - 开始和结束日期之外的每日表
- amazon-web-services - 在不离开 AWS 云的情况下从 Lambda 请求 S3
- python - 如何修补在python中的任务队列中调用的类
- google-apps-script - 从独立的中央脚本为多个电子表格安装 20 多个触发器
- php - 如何通过表单与 php 代码建立连接?
- sql - NOT IN 只返回 LEFT OUTER JOIN 返回两个表之间的增量?
- unit-testing - 如何对 CloudKit/Core Data 进行单元测试?
- ios - 段控制器没有正确滚动
- dictionary - 必须找到被 pokemon 捕获的rattatas、dittos 和 pidgeys 的总数,并分别分配给变量 r、d 和 p
- c# - 无法将 FileStream 隐式转换为 Json 文件的 StreamWriter