繁体   English   中英

.htaccess删除页面并保留查询

[英].htaccess remove the page and leave the query

我想改变

http://example/index.php?name = phone

http:// example / phone

我尝试了这个:

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。 当我编写非干净网址时,应将我重定向到干净网址。

编辑

我将尝试简化问题。 我想写的是

example / index.php?name = phone

它将我重定向到

例子/电话

当然,“ 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM