Palash Ahuja Palash Ahuja - 1 year ago 154
Apache Configuration Question

Rewriterule in .htaccess priority conflict

Here are the rewriterules for .htaccess. But I am facing a problem.
Here is my .htaccess file.

RewriteEngine On
RewriteBase /dashboard/sample_proj/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule t([\d]+)/ threads/$1/ [R=301]
RewriteRule f([\d]+)/ forums/$1/ [R=301,L]
RewriteRule t([\d]+)-([\d]+)/ threads/$1/page-$2 [R=301,L]
RewriteRule t([\d]+)/#post([\d]+) threads/$1/#post-$2 [R=301,L]

But this is a problem because there is a priority conflict between the urls.
For Example
redirects to but should instead should redirect to (this is because there is a conflict between the first and the fourth rule).

Answer Source

Fragments, the things after #, are not sent to the server. They're purely local in the browser, and only evaluated by the browser. A rule matching on # can never match, because the server will never get to see a URL fragment.