htaccess переписать, чтобы включить #! - PullRequest
4 голосов
/ 04 мая 2011

Вызов всех .htaccess гуру.Мне нужна твоя помощь!

Я пытаюсь переписать, чтобы включить #!в URL.

Так что в основном мне нужно.http://example.com/biography

Для перезаписи на http://example.com/#!/biography

Если что-то изменится, мои правила переписывания пока таковы:

  RewriteEngine On
  RewriteCond %{HTTPS} !=on

  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  RewriteCond $1 !^(images|system|files|themes|static|favicon\.ico|robots\.txt|index\.php) [NC]
  RewriteRule ^(.*)$ /index.php/$1 [L]

Я сосу этопоэтому любая помощь будет принята с благодарностью.

Дополнительно ...

У меня есть этот тест, который делает то, что мне нужно, в этом тестере htaccess.http://htaccess.madewithlove.be/ Но это не сработает, когда я попробую на своем сайте ...

RewriteCond %{REQUEST_URI} !^/#!
RewriteRule ^(.*)$ /#!/$1 [L]

Нет идей, почему это не сработает?

Спасибо,Mark.

1 Ответ

8 голосов
/ 04 мая 2011

Получите ваш .htaccess следующим образом:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteRule ^(biography)/?$ /#!/$1 [R,L,NE,NC]

RewriteCond $1 !^(images|system|files|themes|static|favicon\.ico|robots\.txt|index\.php) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L]

Помните, что у вас не может быть условия для проверки на /#! в .htaccess, поскольку эта часть обрабатывается только в браузерах и не отправляется на веб-сервер.

...