2014-02-16 120 views
0

我有一个很简单的画廊脚本。htaccess mod重写规则附加url params

索引页面(php)根据url参数在缩略图视图中加载所有图片。我正在尝试使用重写规则来掩盖网址,以便它们看起来更漂亮,但我遇到了问题。

索引页面需要a=gallery&name={name of gallery}

重写正在努力,它的重写URL来/gallery/{name of gallery}

问题是我得到这显然是不希望反正冗余/gallery/{name of gallery}/?a=gallery&name={name of gallery}的程度。

这是我的规则,我一直在搞这个,我厌倦了去看文档,只是想完成。

# enables rewrite engine 
RewriteEngine on 

# we always direct requests to the www subdomain 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

# some url rewriting 
RewriteRule ^([^/\.]+)$ ?a=$1 [L] 
RewriteRule ^([^/\.]+)/$ ?a=$1 [L] 
RewriteRule ^([^/\.]+)/([^/\.]+)$ ?a=$1&name=$2 [L] 
RewriteRule ^([^/\.]+)/([^/\.]+)/$ ?a=$1&name=$2 [L] 

编辑:添加完整的htaccess文件...

回答

0

尝试这种方式,看看它是如何为你工作。

# enables rewrite engine 
    RewriteEngine on 

    # we always direct requests to the www subdomain 
    RewriteCond %{HTTP_HOST} !^www\. 
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

    RewriteCond %{REQUEST_URI} ^/gallery 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^([^/]+)/([^/]+) index.php?url=$1&name=$2 [PT,L] 
    RewriteCond %{REQUEST_URI} ^/gallery 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^([^/]+) index.php?url=$1 [PT,L] 
+0

这似乎工作,但我得到一个重写URL而不是脚本的目录列表。也许这里还有别的事情呢? – Jeff

+0

url的目录列表?目录是真的吗?意思是/ gallery /一个真实的目录? –

+0

是的,他们是真正的目录。 – Jeff