2009-10-21 3 views
1

У меня есть домен example.com. Я хочу, чтобы пользователи будут перенаправлены на https://www.example.com всякий раз, когда один из следующих набрано:.htaccess/перенаправление на https://www.example.com и доступ к виртуальной папке

  • http://example.com
  • http://www.example.com
  • https://example.com

мне нужно перенаправить доступ пользователей к /asdf (или /asdf/) в /index.php?folder=asdf.

Я нашел несколько примеров кода, делающих первую часть, но всегда была дискуссия об их эффективности.


Edit: (! Нужно больше помощи :))

+0

Хмм - Я думаю, что должен был разместить мой аддонный запрос здесь ... :) [его ниже в ответ на Gumbo] – Steve

ответ

3

Попробуйте эти mod_rewrite правила:

RewriteEngine on 

RewriteCond %{HTTP_HOST} !=www.example.com [OR] 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://www.example.com%{REQUEST_URI} [L,R=301] 

RewriteCond $1 !=index.php 
RewriteRule ^([^/]+)/?$ index.php?folder=$1 [L] 

Но я рекомендую вам просто позволить один URL-нотацию, один с или без конечная косая черта.

+0

Привет там Gumbo - Первая часть работы работает неплохо, но для второй части мне нужно Еще одна помощь. Я хочу, чтобы все пользователи обращались к «www.example.com», чтобы получить доступ к файлу «index.html», но каждый, кто обращается к example.com/abcde/, перенаправляется на example.com/subfolder=abcde. Еще одно осложнение состоит в том, что у меня есть специальная (но «реальная») папка по адресу: www.example.com/qwerty/. Любые ссылки внутри них не должны быть изменены. Спасибо! Ваш предыдущий пример был очень полезен! – Steve

+0

Упс - незначительная опечатка: я хотел сказать, что «кто-либо, обращающийся к example.com/abcde/, перенаправляется на example.com/other.php?subfolder=abcde» – Steve