.htaccess htaccess正在将string.string重写为参数

.htaccess htaccess正在将string.string重写为参数,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我试了好几个小时,但还是没能成功。 我有一个带有index.php和page.php的/MyFolder文件夹 在索引上,我想链接到/MyFolder/Bibi.Bobo,这将在real call/MyFolder/page.php中实现?a=Bibi.Bobo 如果这是导致错误的原因,我可以更改bibi/bobo分隔符。 我已经测试了一个在线重写切赫一些工作,但它使我的服务器进入错误500 RewriteRule ^MyFolder/([0-9a-z]+).([0-9a-z]+)$ /MyFo

我试了好几个小时,但还是没能成功。 我有一个带有index.php和page.php的/MyFolder文件夹 在索引上,我想链接到/MyFolder/Bibi.Bobo,这将在real call/MyFolder/page.php中实现?a=Bibi.Bobo 如果这是导致错误的原因,我可以更改bibi/bobo分隔符。 我已经测试了一个在线重写切赫一些工作,但它使我的服务器进入错误500

RewriteRule ^MyFolder/([0-9a-z]+).([0-9a-z]+)$ /MyFolder/page.php?a=$1.$2 [QSA,NC]
->/MyFolder/bibi.bobo设备ainsi/MyFolder/page.php?a=bibi.bobo

为了避免page.php创建无限循环,我尝试了以下方法:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^MyFolder/([0-9a-z]+).([0-9a-z]+)
RewriteRule /MyFolder/page.php?a=%1.%2 [QSA,NC]
但也不管用。 任何人都可以解释一下为什么我的发现不起作用?
谢谢

我想说这应该行得通:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !^MyFolder/page\.php
RewriteRule ^MyFolder/([0-9a-z]+)\.([0-9a-z]+)$ /MyFolder/page.php?a=$1.$2 [L,QSA,NC]
您还可以修改amtching模式,使其不专门使用Defined字符集:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !^MyFolder/page\.php
RewriteRule ^MyFolder/([^.]+)\.(.+)$ /MyFolder/page.php?a=$1.$2 [L,QSA,NC]
请注意,显然,不应该存在一个名为“像您尝试匹配的模式一样”的文件或文件夹


如果您得到http状态500,那么您应该检查http服务器错误日志文件以查看实际发生的错误

工作完美!看来我没有逃过那次的审判。然后呢。无论如何,这仍然是一个问题,与MyFolder/bé不起作用。bobo因为口音,我猜他们不匹配?好吧,它与[0-9áëëëëëëëëëëëëëëëëëëëëëëëëëëëëëëëëë!非常感谢阿卡夏!!!当然,这些重音字符不包含在您在模式中专门定义的字符集中。问题是,如果你真的要定义这样一个集合。。。我在答案中添加了这样一个变体。谢谢,你的上一个模式非常有效!!你救了我一天,非常感谢!很高兴我能帮上忙。我很感谢你对我的奖赏,感谢你投票或接受答案:-祝你玩得开心!