我网站的htaccess漂亮网址

时间:2014-04-05 23:02:33

标签: php apache .htaccess

我有一个php网站
我尝试了不同的htaccess代码但没有得到我想要的东西 我有以下网址

http://mydomain/users.php?name=alex

想要看起来像

http://mydomain/users/alex

http://mydomain/items.php?name=pepsi

想要看起来像

http://mydomain/items/pepsi

或者隐藏用户和项目也是非常好的

我试过

RewriteEngine On
RewriteCond %{THE_REQUEST} \?name=([^&\ ]+)($|\ )
RewriteRule ^ /%1? [L,R=301]

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ users.php?name=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?name=$1

以及更多,但这些都不起作用

3 个答案:

答案 0 :(得分:0)

这应该有效:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /users\.php\?name=(.*)\ HTTP
RewriteRule ^ /users/%2\? [R=301,L]

RewriteRule ^users/(.*)$ /users.php?name=$1 [L]

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /items\.php\?name=(.*)\ HTTP
RewriteRule ^ /items/%2\? [R=301,L]
RewriteRule ^items/(.*)$ /items.php?name=$1 [L]

答案 1 :(得分:0)

RewriteEngine on
RewriteRule   ^/(.*)/(.*)  $1.php?name=$2 [L]

答案 2 :(得分:0)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+([^.]+)\.php\?name=([^&\s]+) [NC]
RewriteRule ^ /%1/%2? [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^([^/.]+)/([^/]+)/?$ /$1.php?name=$2 [L,QSA]