使用RewriteRule清理我的URL

时间:2014-05-30 22:25:18

标签: .htaccess mod-rewrite

我的主要目标是更改用户访问我的网站时看到的内容。

截至目前,如果我想浏览我的网站,我们就这样做了:

http://ieztech.net/~aeterna/index.php?page=homehttp://ieztech.net/~aeterna/index.php?page=contact-us

我想要完成的是,当我将用户发送到我的联系页面时,我希望他们能够转到http://ieztech.net/~aeterna/contact-us/,但实际上会显示位于http://ieztech.net/~aeterna/index.php?page=contact-us的内容

我尝试了很多RewriteRule的变体,但我似乎无法解决这个问题。

以下是我目前正在使用的内容:

RewriteEngine On

RewriteBase /
RewriteRule ^(.*)$ index.php?page=$1&%{QUERY_STRING} [L]

我也尝试过(我发现here):

RewriteEngine On

RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1

RewriteEngine On

RewriteRule ^(.*)/$ index.php?page=$1 [L,QSA]

我还缺少其他东西,还是我尝试不正确的东西?

1 个答案:

答案 0 :(得分:1)

这有用吗?

RewriteBase /~aeterna
RewriteCond %{REQUEST_URI} !index.php [NC]
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

添加此条件以防止重写特定文件:

RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png|pdf|css|js)