我对mod_rewrite有疑问。
我有这样的链接
http://pagename.com/pl/meskie/longsleevy/criminal-squad#ad-image-0
我想在#之后“剪切”所有内容
http://pagename.com/pl/meskie/longsleevy/criminal-squad
我店里有很多产品,所以我不想为每件产品制定很多规则。 所以我创建了这样的东西:
RewriteRule ^/pl/meskie/longsleevy/([[^#]+)#([^#]+)$ ^/pl/meskie/longsleevy/([[^#]+)$
但这不起作用。 有人可以帮帮我吗?
我的实际.htaccess
<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/media/
RewriteCond %{REQUEST_URI} !^/extAdmin/
RewriteCond %{REQUEST_URI} !^/skin/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
</IfModule>
谢谢,
答案 0 :(得分:0)
怎么样?
RewriteRule ^/pl/meskie/longsleevy/([ˆ#]*)#.*$ /pl/meskie/longsleevy/$1
左侧网站上的括号()
将存储#
之前的所有内容,然后在右侧以$1
打印。 ^
和$
在右侧也没用。
另外,要注意贪婪的.*
如果您改变主意并希望使用片段#
重写网址,请不要忘记添加[NE]
标记。见https://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_ne
进一步阅读apache docs