2010-06-21 2 views
1

Я хочу создать чистый URL-адрес, например, у меня есть сайт www.mywebsite.com, я хочу, если кто-нибудь попробует http://www.mywebsite.com/something, он должен быть перенаправлен на www.mywebsite.com,.htaccess redirect

поэтому любая вещь, которая набрана перед mywebsite.com/ они должны получить перенаправлены на www.mywebsite.com

, как я могу сделать это в .htaccess, любезно помочь.

+0

Вы хотите, только если «что-то» не существует для перенаправления или вы планируете не иметь суб-контента? –

+0

нет нет, я хочу, если вы попытаетесь получить доступ к http://www.mywebsite.com/anything, он должен перейти на http://www.mywebsite.com не должно быть ничего впереди http: // www.mywebsite.com/ url должен быть чистым, в адресной строке он должен показывать только http://www.mywebsite.com – Suhail

+0

Затем придерживайтесь ответа Мэтта. –

ответ

1
RewriteEngine ON 
RewriteRule ^/.+/[L,R] 

Это перенаправляет все на/в качестве постоянной переадресации. Посмотрите на http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html для получения дополнительной информации о флагах можно добавить прозрачность и т.д. и т.п.

Если вы хотите, чтобы это в .htaccess убедитесь, что правильные директивы переопределения в вашей <VirtualHost > конфигурации.

+0

Эй, матовый, я пробовал это, но его не работало. – Suhail

+0

я следующие директивы установить в моем виртуальном хосте: Опции FollowSymLinks AllowOverride None это правильно? – Suhail

+0

Измените 'AllowOverride' на' All', попробуйте –

0

Если вы хотите только перенаправить если файлы и каталоги этого уже не существует, то это будет работать:

RewriteEngine ON 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/.+/[R,L] 

Если вы не хотите иметь суб-контент доступным затем удалить правила условие

RewriteEngine ON 
RewriteRule ^/.+/[R,L] 
+0

Вам нужен флаг 'R'; в противном случае он прозрачен для пользователя. –

+0

нет, это не работает – Suhail

+0

Согласен Alvaro, спасибо. –