我有一个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
以及更多,但这些都不起作用
答案 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]