如何使用 htaccess 将以下 urls 模式重写为特定 php 文件?
How to rewrite below urls patterns to specific php files using htaccess?
我有两个动态 url,我想将它们重定向到不同的 php。问题是两个 url 都是动态的。所以我很难捕捉到模式并重定向它们。
我在 google 上搜索并找到了许多示例,但所有示例 url 都包含一些要捕获的模式。
下面是我的示例 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= [R=301,L]
但是这个规则的问题是它只有在 url 包含单词 detail
时才有效
根据您显示的 attempts/rules,请尝试在您的 .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= [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= [L]
我有两个动态 url,我想将它们重定向到不同的 php。问题是两个 url 都是动态的。所以我很难捕捉到模式并重定向它们。 我在 google 上搜索并找到了许多示例,但所有示例 url 都包含一些要捕获的模式。
下面是我的示例 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= [R=301,L]
但是这个规则的问题是它只有在 url 包含单词 detail
时才有效根据您显示的 attempts/rules,请尝试在您的 .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= [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= [L]