这是我的网址:
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 :(得分: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
要:
http://localhost/myweb/par1.php
或
http://localhost/myweb/par1.php?str=par2
根据实际设置RewriteBase
,将/myweb
设置为DocumentRoot
。
假设所有字符串都是可变的,而假定myweb
是固定的。
对于永久重定向,请将[L,NC]
替换为[R=301,L,NC]