2013-03-01 90 views
-1

这是我的网址:的.htaccess更改查询字符串

localhost/myweb/home.php 

现在我只是使用此代码删除的文件扩展名:

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

转来转去的:

localhost/myweb/home 

它工作正常。

现在我想改变这个网址:

localhost/myweb/home.php?str=tmprow 

这样:

localhost/myweb/home/tmprow 
+0

你为什么不能做同样的事情? – 2013-03-01 01:58:54

+0

你是什么意思?怎么样? – avien 2013-03-01 02:20:52

回答

1

你可以尝试这样的事:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?([^/]+)?/? $1.php?str=$2 [L,NC] 

地图默默

http://localhost/myweb/par1

http://localhost/myweb/par1/par2带或不带斜线

要:根据实际设置和DocumentRoot

http://localhost/myweb/par1.php

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

如有必要,设定RewriteBase/myweb

假设所有字符串都是可变的,而假设myweb是固定的。

对于永久重定向,更换[L,NC][R=301,L,NC]