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


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

Я пытаюсь заставить перезапись включить #! в URL-адресах.

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

Быть переписанным на http://example.com/#! / биография

Если это будет иметь какое-либо значение, мои правила перезаписи до сих пор являются

  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]

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

Спасибо, Марк.

1 3

1 ответ:

Имейте свое .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, потому что эта часть обрабатывается только в браузерах и не отправляется на веб-сервер.