.htaccess以更改查询字符串

.htaccess以更改查询字符串,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,这是我的网址: localhost/myweb/home.php 现在,我刚刚使用以下代码删除了文件扩展名: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php 请看这个: localhost/myweb/home 而且效果很好 现在我想更改此URL: localhost/myweb/home.php

这是我的网址:

localhost/myweb/home.php
现在,我刚刚使用以下代码删除了文件扩展名:

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
请看这个:

localhost/myweb/home
而且效果很好

现在我想更改此URL:

localhost/myweb/home.php?str=tmprow
为此:

localhost/myweb/home/tmprow

您可以尝试以下方法:

Options+FollowSymlinks-多视图
重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]+)/?([^/]+)?/$1.php?str=$2[L,NC]
无声地映射

http://localhost/myweb/par1

http://localhost/myweb/par1/par2
带或不带尾随斜杠

致:

http://localhost/myweb/par1.php

http://localhost/myweb/par1.php?str=par2

如有必要,根据实际设置和
DocumentRoot
RewriteBase
设置为
/myweb

假定所有字符串都是可变的,
myweb
假定为固定的


对于永久重定向,请将
[L,NC]
替换为
[R=301,L,NC]

为什么不能再次执行相同的操作?什么意思?怎样?