Назад | Перейти на главную страницу

Перенаправить пути к shebang через .htaccess?

У меня был небольшой код, который перенаправлял страницы, доступные из моего собственного домена, на их хэш-адреса, например:

example.com/stationary.html => example.com/#/stationary 

Это был код:

<IfModule mod_rewrite.c>
 # Redirect requests to ajax pages the their hashes
 RewriteCond $1 !=index [NC]
 RewriteCond %{HTTP_REFERER} !^$
 RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com/ [NC]
 RewriteRule ^([a-zA-Z0-9\-_]+)\.html?$ /#$1 [NE,R]
</IfModule>

Это будет отлично работать, теперь мне интересно, могу ли я заставить его перенаправлять такие страницы, как

example.com/stationary => example.com/#!/stationary 

Взлом приведенного выше кода не помог. Любая помощь будет оценена по достоинству!
Спасибо!

Я не уверен, что вы думаете о «хеш-адресе»; URL-адрес с хеш-меткой в ​​нем относится к привязке на рассматриваемой странице, и сам по себе не является ресурсом.

Обратитесь к RFC 2616 за подробностями.

Независимо от вашего вопроса: вам придется повторить все Правило, включая все RewriteConds, чтобы соответствовать чему-то еще.

RewriteCond $1 ! \.html?$ [NC]
...
RewriteRule ^([a-zA-Z0-9_-]+)$ /#!/$1 [NE,R]

Также переместите "-"до конца коллекции, чтобы вам не пришлось от нее убегать.

Да, и избавьтесь от IfModule; ты бы знать загружено оно или нет.