使用htaccess的非常动态的URL结构


Pretty dynamic Url structure using htaccess

我有一个网址结构 http://mywebsite.com/trainer-profile.php?usr=DarwinDiaz&id=MTE4 添加了 htaccess 代码并从链接中删除.php扩展名。

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^forums/ - [L,NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}'s([^.]+)'.php [NC]
RewriteRule ^ %1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
RewriteCond %{HTTP_HOST} ^www'.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

现在我的 URL 结构是 http://mywebsite.com/trainer-profile?usr=DarwinDiaz&id=MTE4 .我想将此网址转换为http://mywebsite.com/trainer-profile/DarwinDiaz。我是 htaccess 的新手。尝试了不同的htaccess代码,但不起作用提前致谢

您可以使用:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^forums/ - [L,NC]
RewriteCond %{HTTP_HOST} ^www'.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301,NE]
RewriteCond %{THE_REQUEST} 's/+(trainer-profile)'.php'?usr=([^'s&]+)&id=([^'s&]+) [NC]
RewriteRule ^ %1/%2/%3? [R=302,L,NE]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}'s([^.]+)'.php's [NC]
RewriteRule ^ %1 [R,L]
RewriteRule ^(trainer-profile)/('w+)/('w+)/?$ $1.php?use=$2&id=$3 [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

我建议保持简单,像这样:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)$ /trainer-profile.php?usr=$1&id=$2 [L]

它给出像http://mywebsite.com/DarwinDiaz/MTE4这样的地址,其中你既有usr又有id,但没有不必要的元素。