【发布时间】:2018-10-14 07:48:06
【问题描述】:
我的 htaccess 中有以下内容
RewriteEngine on
RewriteCond %{QUERY_STRING} (^|&)id=3($|&)
RewriteRule ^user/members/profile\.php$ /user/members/profile/id/3?&%{QUERY_STRING}
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]
我希望重写规则做两件事:
- 删除.php
- 将 user/members/profile.php?id=3 更改为 user/members/profile/id/3
查询字符串被重定向到 user/members/profile/id/id=3?id=3
救命!
【问题讨论】:
-
你真的应该用
apache和mod-rewrite标记这个 -
你也以
3为例,对吧?您希望所有 URL 都以这种方式重写吗? -
3 只是一个例子。我应该说 id=x
-
我建议您阅读以下内容:addedbytes.com/blog/url-rewriting-for-beginners。您不应在 htaccess 中专门匹配
3,而应使用正则表达式
标签: apache .htaccess mod-rewrite