我想在某个基础上重写所有链接,寻找其网址片段的价值。 使用.htaccess,我能够重定向一个链接,但是当我尝试将其作为规则时,我会失败。 我想一个错误的语法,这是我的代码。
# here single rewrite, works like a charm.
RewriteRule ^francais/Projects/template/297_tsf/dsource/projects\.xml$ http://www.mysite.com/mobile/fr/index.php/xml/projet/297_tsf/file.xml
# uh oh, trying to write a real rule, doesn't works at all.
RewriteRule ^francais/Projects/template/([a-z0-9]+)/dsource/projects\.xml$ http://www.mysite.com/mobile/fr/index.php/xml/projet/$1/file.xml [NC] [L]
任何想法?
答案 0 :(得分:0)
这是正确的语法:
RewriteRule ^francais/Projects/template/([a-z0-9]+)/dsource/projects\.xml$ /mobile/fr/index.php/xml/projet/$1/file.xml [NC,L]
你有标志:
[NC] [L]
这是不正确的语法,它应该像我在上面的回答中所示。
PS:我从目标网址中删除了http://www.mysite.com
,因为您正在使用静默(内部)重写,并且由于存在包含http://
的完整网址,它将成为外部网址重定向。但是,如果您真的想要外部重定向,请使用:
RewriteRule ^francais/Projects/template/(\w+)/dsource/projects\.xml$ /mobile/fr/index.php/xml/projet/$1/file.xml [NC,L,R]