Я не могу заставить RewriteBase и RewriteRule работать должным образом - PullRequest
0 голосов
/ 23 мая 2011

Моя структура выглядит следующим образом:

mywebsite / clubeadv /

Внутри этой папки у меня есть файл site.php, который получает идентификатор параметра.

Итак,физический путь будет:

mywebsite / clubeadv / site.php? id = что-то

Но я хочу, чтобы это выглядело так:

mywebsite / clubeadv / site /что-то

(где «что-то» - это мой параметр)

КАК НАСТРОИТЬ ФАЙЛ .HTACCESS?

Я попробовал следующее:

Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^site/(.*)$ site.php?id=$1

Любая помощь будет оценена.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 23 мая 2011

Похоже, что вы хотите:

RewriteEngine On
RewriteBase /clubeadv/
RewriteRule . site.php?id=%{REQUEST_URI}

Это будет обрабатывать URL, такие как www. <>. Com / clubeadv / abc / edf как site.php? Id = / abc / edf.

0 голосов
/ 25 мая 2011

Видимо проблема была в конфигурации сервера. Чтобы включить файлы .htaccess, нам нужно было:

  • Загружен следующий модуль:

LoadModule rewrite_module modules / mod_rewrite.so

  • Включить переопределение для нужных сайтов в теге 'directory':

    AllowOverride All

Спасибо тем, кто ответил.

0 голосов
/ 23 мая 2011

Попробуйте удалить RewriteBase и поместить .htaccess в папку «clubeadv».Если ваш .htaccess находится в корне в папке «mywebsite», то вы можете оставить RewriteBase, но использовать RewriteRule clubeadv/site/(.*)$ clubeadv/site.php?id=$1

В любом случае, я уверен, что «^ site» заставляет его искатьmywebsite / site / что-то в вашем случае.

...