php - 使用 htaccess 将查询重写为路径
问题描述
如何htaccess
重写以下 URL 结构:
http://example.com/detail.php?id=polo&categ=wears
至
http://example.com/wears/polo/
我已经尝试了下面的代码,但它对我不起作用。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.+)/(admin|css|fonts|ico|include|js|images|img|products|slide)/(.*)$ $2/$3 [L]
RewriteRule ^(.*)/(.*)/$ detail.php?id=$1&categ=$2
</IfModule>
解决方案
当我在 URL 中包含斜杠时,您的代码对我有用。
工作->http://example.com/wears/polo/
不工作->http://example.com/wears/polo
此外,您需要从.*
表达式中排除斜杠字符。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.+)/(admin|css|fonts|ico|include|js|images|img|products|slide)/(.*)$ $2/$3 [L]
RewriteRule ^([^/]*)/([^/]*)/?$ detail.php?id=$1&categ=$2
</IfModule>
推荐阅读
- c# - C# 使用泛型、反射和类型推断
- android - 保留所有字符串 JNI android 以防止逆向工程?
- php - 如何获取每天的网站交易 laravel postgres
- python - EarlyStopping TensorFlow 2.0
- python - 我如何从熊猫的“1994”中获得“1994-01-01”?
- c# - 无法到达每个循环之外的变量
- c++ - 从外部类继承的 C++ 嵌套类;不允许不完整的类型
- php - 授权标头ajax获取令牌会话codeigniter
- macos - 在 Mac 应用程序菜单项中导航时,VoiceOver 焦点不会随键盘焦点移动
- python - 如何进行取决于参数化测试的测试。(Pytest)