mod_rewrite и .htaccess 404ing в подкаталоге - PullRequest
0 голосов
/ 09 января 2012

Например:

Структура Dir

localhost/
 |- test/
    |- index.php
    |- .htaccess

index.php

 <?php
        if(isset($_GET['cmd'])){
            echo "cmd is ok";
        }
 ?>

.htaccess

RewriteEngine On
RewriteRule ^([^/]*)/$ /test/index.php?cmd=$1 [L]

Если пользователь установит: http://localhost/test/index.php?cmd=a

Вывод будет: cmd is ok

Это нормально!

Я хочу получить тот же результат, если пользователь устанавливает http://localhost/test/a

Как установить .htaccess / mod_rewrite?

С кодом там я получаю 404.

Ответы [ 2 ]

5 голосов
/ 09 января 2012
RewriteRule ^([^/]+) index.php?cmd=$1 [L]
1 голос
/ 09 января 2012

Ваша проблема в том, что здесь идет косая черта:

RewriteRule ^([^/]*)/$ /test/index.php?cmd=$1 [L]

Удалите это или сделайте его необязательным:

RewriteRule ^([^/]*)/?$ /test/index.php?cmd=$1 [L]

В противном случае он не будет соответствовать URL, заканчивающемуся только .../a

...