我完全是.htaccess或apache的新手。不知道它是如何工作的。
我的网址就像
http://localhost/category.php?category=something
我想在category.php中将变量值作为 某事 ,但想要将网址显示为
http://localhost/something
我该怎么做才能帮忙。
提前谢谢
答案 0 :(得分:1)
第一条规则会将丑陋的网址重定向到漂亮网址,第二条规则会在内部重定向漂亮的网址,而不会更改用户在浏览器网址上看到的内容:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
# Redirect /category.php?category=something to /something
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+category\.php\?category=([^&\s]+) [NC]
RewriteRule ^ /%1? [R=302,L]
# Internally forward /something to /category.php?category=something
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/?$ /category.php?category=$1 [QSA,NC,L]
确认其按预期工作后R=302
更改为R=301
。