0

我完全是 .htaccess 或 apache 的新手。不知道它是如何工作的。

我的网址就像

http://localhost/category.php?category=something

我想在category.php中获取变量值,但想将 url 显示为

http://localhost/something

我该怎么做,请帮忙。

先感谢您

4

1 回答 1

1

第一条规则将丑陋的 URL 重定向到漂亮的 URL,第二条规则将在内部将漂亮的 URL 重定向回来,同时不改变用户在浏览器 URL 上看到的内容:

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=302R=301.

于 2013-09-22T21:42:38.930 回答