.htaccess Redirect - PullRequest
       10

.htaccess Redirect

0 голосов
/ 24 августа 2011

Мне нужно создать перенаправление, которое отправляет пользователя на указанную страницу php с переменной страницы, которую они первоначально запрашивали, например:

http://website.com/4

отправит их на

http://website.com/download.php?id=4

Однако я не хочу перенаправлять их, если они запрашивают фактическую страницу в корневом каталоге, например website.com/index.php.

Есть идеи, как этого добиться?

Ответы [ 2 ]

1 голос
/ 24 августа 2011

Предполагается, что Apache 2.2:

RewriteEngine On
RewriteRule ^(\d+)$ /download.php?id=$1

В этом случае URL-адрес не изменяется.Это также предполагает, что ваш идентификатор всегда число.

1 голос
/ 24 августа 2011

должно быть именно то, что вы просили; переписывает URL-адрес для включения download.php?id=, если только запрос не относится к какому-либо физически существующему файлу:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ download.php?id=$1 [L]

Редактировать: я добавил RewriteEngine On, потому что он может не работать без него в зависимости от настроек вашего сервера. Честно говоря, ответ Млерли напомнил мне, что он должен быть там.

...