我花了好几个小时寻找解决方案,但.htaccess规则似乎超出了我的想法。我有这个规则:
RewriteRule ^(.*)$ wikka.php?wakka=$1 [QSA,L]
我只有在域名以外的任何内容时才需要应用它,即。 www.example.com/xyz
但不仅仅是www.example.com
,因为我只需要显示一个简单的index.php
而不是{无地址翻译}。
我该怎么做?
答案 0 :(得分:0)
RewriteRule ^(.*)$ wikka.php?wakka=$1 [QSA,L]
您只需将*
模式中的RewriteRule
(0或更多)更改为+
(1或更多)。例如:
RewriteRule (.+) wikka.php?wakka=$1 [QSA,L]
我还删除了锚点^
和$
,因为这里不需要它们。无论如何你都抓住了所有东西,所以说你从头到尾抓住所有东西都没有必要。
此外,除非您需要原始请求中的查询字符串,否则我会删除QSA
标记。该规则本身将生成?wakka=wikka.php&wakka=xyz
形式的重复查询字符串 - 其中xyz
是初始请求。这仍然是"工作"如果用PHP wakka=xyz
读取URL参数将覆盖之前的参数。