Php .htaccess重定向并保留不带文件扩展名的文件名

Php .htaccess重定向并保留不带文件扩展名的文件名,php,.htaccess,redirect,url-rewriting,query-string,Php,.htaccess,Redirect,Url Rewriting,Query String,我正在重定向,但现在我想保留文件名,使其类似于目录 我会添加一个带有文件名的查询字符串,将其添加到重定向URL,但这没有多大意义 e、 g 内部的 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)$ profile.php?user=$1&uid=$2 [L,QSA] 这将重定向到www.site.com/username/uid 我希

我正在重定向,但现在我想保留文件名,使其类似于目录

我会添加一个带有文件名的查询字符串,将其添加到重定向URL,但这没有多大意义

e、 g

内部的

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ profile.php?user=$1&uid=$2 [L,QSA]
这将重定向到www.site.com/username/uid

我希望它是www.site.com/profile/username/uid


我想添加第三个查询字符串,如www.site.com/profile.php?user=username&uid=45&profile,但这没有多大意义

您可以稍微修改重写规则

  RewriteCond %{THE_REQUEST} \ /+profile\.php\?user=([^&]+)&uid=([^&\ ]+) 
  RewriteRule ^ /profile/%1/%2? [L,R=301]
以及内部

  RewriteRule ^profile/([^/]+)/([^/]+)$ profile.php?user=$1&uid=$2 [L,QSA]

好的,就这样。你可能想删除哮喘症状,只留下正确的代码。这很令人困惑。标记删除/添加的代码行是非常常见的差异签名。它帮助100个访问者中的99个了解如何使用代码。无论您是否感到困惑,我都已将其删除。从未访问过github吗?:)我只有下载的东西。
  RewriteRule ^profile/([^/]+)/([^/]+)$ profile.php?user=$1&uid=$2 [L,QSA]