Ajax Mod_Rewrite:将普通/url转换为/#/网址
我有以下两个url案例 如果这些URL被调用,我希望mod_rewrite调用 我该怎么做呢?像这样的事情Ajax Mod_Rewrite:将普通/url转换为/#/网址,ajax,.htaccess,mod-rewrite,hash,server-side,Ajax,.htaccess,Mod Rewrite,Hash,Server Side,我有以下两个url案例 如果这些URL被调用,我希望mod_rewrite调用 我该怎么做呢?像这样的事情 # not existing file (images, css, etc) RewriteCond %{REQUEST_FILENAME} !-f # no query parameters RewriteCond %{QUERY_STRING} ="" # not / RewriteCond %{REQUEST_URI} !^/$ # external redirect and
# not existing file (images, css, etc)
RewriteCond %{REQUEST_FILENAME} !-f
# no query parameters
RewriteCond %{QUERY_STRING} =""
# not /
RewriteCond %{REQUEST_URI} !^/$
# external redirect and pass along query string and uri as fragment
# i guess this must be an external redirect as the server side should
# not see the fragment, R=redirect, NE=dont escape #, L=last rule
RewriteRule ^(.*)$ /#!/$1 [R,NE,L]
# same but with query parameter
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^(.*)$ /?%{QUERY_STRING}#!/$1 [R,NE,L]
但我不确定这是否是个好主意。也许您应该在应用程序逻辑中或者使用客户端脚本来执行重定向。当我测试时,它没有显示片段部分。我会再试一次,让你知道。很抱歉,第一个版本更像是一个如何做的草稿。但是当前版本应该可以工作(已经测试过)。必须修复标志和NE,L标志。此外,当没有查询字符串时,您还需要两个cond/规则集来获取奇特的URL。