mod_rewrite работает в подкаталоге, а не в базовом каталоге

Правило перезаписи:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_\-.]+)/?$ storefront.php?id_user=$1 [L]

Когда помещено в подкаталог т.е. http://example.com/subdirectory/ он работает на перенаправлении URL-адреса из http://example.com/subdirectory/user в http://example.com/subdirectory/storefront.php?id_user=user,

Когда место в базовом каталоге, то есть: http://example.com/ не удается перенаправить URL http://example.com/user в http://example.com/storefront.php?id_user=user

Что я делаю неправильно?

1 ответ

Хорошо, я получаю эффект, который хочу, используя это правило переписывания, которое, если чувствовать, это хак, а не так, как это должно быть на самом деле. потом опять.. это работает так, если кто-то не просветит меня в том, что происходит.

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_\-.]+)/?$ http://example.com/subdirectory/storefront.php?=id_user=$1 [L]

в основном я переписал его в каталог, который работал. но в конечном итоге это не то, что я хочу, так как я хочу перенести подкаталог в базовый каталог в будущем, и эта проблема предотвращает это.

Другие вопросы по тегам