我当前正面临一些htaccess / rewriterule问题。 (我是这个领域的新手)
我们假设我们有一个这样的网址: http://mypage.at/very/cool
URL应该看起来像这样(因为我正在使用需要这个的AJAX-loadedContent): http://mypage.at/#ajx/very/cool
所以我想将“#ajx”部分添加到每个尚未包含它的网址中。 这意味着如果网址看起来像:http://mypage.at/#ajx/so/pretty那么就没有必要进行更改。
由于我不确定这会给GoogleSearchIndex造成麻烦,我还想知道是否有办法排除搜索机器人的这条规则。
感谢您的帮助。 Ripei
答案 0 :(得分:1)
由于您报告这不起作用(这可能是因为您的Apache版本不支持Perl样式的RegEx):
RewriteRule ^(?!#ajx)(.*)$ http://mypage.at/#ajx/$1 [L]
我认为应该这样做:
RewriteCond %{REQUEST_URI} !^/#ajx
RewriteRule ^(.*)$ http://mypage.at/#ajx/$1 [L]
编辑:自己尝试并在互联网上阅读后,我不确定这实际上是否可行。井号(#)不是URL的合法部分。这个答案很接近,但我不得不把这个留给那些知道更多的人来说是否可以按照@Ripei的要求来做。
答案 1 :(得分:0)
这样的事可能有用:
RewriteCond %{REQUEST_URI} !^/#ajx
RewriteRule ^(.*) http://%{SERVER_NAME}/#ajx$1 [R,L]
答案 2 :(得分:0)
RewriteCond %{REQUEST_URI} !^#ajx
RewriteRule . /\#ajx%{REQUEST_URI} [L,R,NE]
本规范对我有用...不要问我为什么这个工作正常,说实话我没有线索!但我很好,因为它正在工作:)