Php .htaccess删除页面并保留查询

Php .htaccess删除页面并保留查询,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我想换衣服 到 我试过这个: RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?name=$1 RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?name=$1 它实际上允许我使用example/phone,但当我使用example/index.php?name=phone 我只希望能够访问干净的url。当我写非干净的url时,它应该将我重定向到干净的url 编辑 我会尽量简化这个问题。 我想要的是 当我写作时 exampl

我想换衣服

我试过这个:

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?name=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?name=$1
它实际上允许我使用
example/phone
,但当我使用
example/index.php?name=phone
我只希望能够访问干净的url。当我写非干净的url时,它应该将我重定向到干净的url

编辑

我会尽量简化这个问题。 我想要的是 当我写作时

example/index.php?name=phone

它使我转向

示例/电话

当然,“电话”是一个变量。

给你:

  RewriteEngine On
  RewriteRule ^([^/]*)$ /index.php?name=$1 [L]
这项工作:

RewriteEngine on

RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?name=([^\s]+) [NC]
RewriteRule ^ %1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

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

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

告诉您的托管服务器激活您服务的重写功能。也许是offit,在不同的主机上试过了。奇怪的是,它可以处理一些查询,而其他查询则不能!!有什么想法吗?@moawaya在这之前你有什么重写规则吗?如果是这样,他们可能会影响它。要“解决”问题,请发布答案和/或接受答案。