2014-02-16 4 views
0

У меня есть сценарий галереи, который работает очень просто.htaccess mod rewrite rule appending url params

Индексная страница (php) загружает все изображения в виде эскизов, основанных на параметрах url. Я пытаюсь использовать правила перезаписи для маскировки URL-адресов, чтобы они выглядели лучше, но у меня проблема.

страница Индекс принимает a=gallery&name={name of gallery}

переписывания работает в той степени, что это переписывание URLs в /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] 

Edit: добавлена ​​полная файл 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/real directory? –

+0

Да, это настоящие справочники. – Jeff