我的localhost上有这样的URL:
http://localhost/mysite/index.php?id=8
我想从网址中删除index.php?id=
并将其显示如下:
http://localhost/mysite/8
或者:
http://localhost/mysite/about
用一些字符代替整数8。
答案 0 :(得分:0)
你误解了mod-rewrite。
您必须在代码中的任何位置使用短网址mysite/8
),并让.htaccess
将这些虚假网址重定向到真实网址(mysite/index.php?id=8
)。
您无法希望.htaccess
能够神奇地美化您的网址。
话虽如此,您正在寻找的.htaccess
是:
RewriteEngine On
RewriteBase /mysite
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?id=$1 [L]
答案 1 :(得分:0)
您可以在/mysite/.htaccess
:
RewriteEngine On
RewriteBase /mysite/
RewriteCond %{THE_REQUEST} /index\.php\?id=([0-9]+) [NC]
RewriteRule ^ %1? [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA]