'hash' url переписать в .htaccess
Я хочу переписать http://example.com/articles.html#first-article
с помощью http://example.com/articles/first-article
Можно ли переписать?
Я попытался использовать следующий, но не работал у меня:
RewriteRule ^articles/(.+)$ /articles\.html\#$1
Ответы
Ответ 1
Нет, это невозможно. Фрагмент URL (все от #
on) даже не отправляется на сервер.
Возможно, вы хотите рассмотреть решение на основе JavaScript, где фактический контент будет загружен через AJAX в зависимости от фрагмента. Здесь вы найдете полезную информацию об этом методе: Что такое shebang/hashbang (#!) В Facebook и новые URL-адреса Twitter для?
Ответ 2
В URL-адрес подстановки можно добавить #
флаг NE. Проверьте:
Итак, вы можете попробовать следующее:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !articles\.html [NC]
RewriteCond %{REQUEST_URI} ^/articles/([^/]+)/? [NC]
RewriteRule .* /articles.html#%1 [R,NE,L]
Перенаправление
http://example.com/articles/parameter
Для
http://example.com/articles.html#parameter
Строка articles
считается фиксированной, а parameter
считается переменной.