RewriteRule没有正确执行

时间:2014-04-03 15:18:40

标签: .htaccess mod-rewrite

我有以下目录结构:

public_html/sites/site_a/
public_html/sites/site_b/

我正在尝试为.htaccess写一个重写网址的site_a。我在site_a的根目录中有以下内容:

Options +FollowSymLinks
RewriteEngine On
RewriteRule \?page=([a-z]*) $1 [L,QSA]

基本上我想要我的网址:

http://hostname/sites/site_a/?page=products

显示为:

http://hostname/sites/site_a/products

然而,这似乎并不奏效。该页面显示完整的网址。

1 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine On
RewriteBase /sites/site_a/

RewriteCond %{THE_REQUEST} \ /+sites/site_a/\?page=([^&\ ]+)
RewriteRule ^ %1? [L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ ?page=$1 [L,QSA]

site_a目录中的htaccess文件中。