1

我正在尝试为 mvc 框架创建一个 .htaccess 文件。大多数人建议这样做:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [NC,L]

问题是 RewriteCond %{REQUEST_FILENAME} !-f 表示如果文件路径确实存在,则转到该文件而不是将名称提交给 index.php。我不希望这种情况发生。无论如何,我都希望将所有内容提交给 index.php。因此,当我拿走那条线时,网址不再提交给 index.php。它总是说 index.php 已提交给 index.php。难道我做错了什么?

谢谢,亚历克斯

4

1 回答 1

1

无论如何,我都希望将所有内容提交给 index.php。

好吧,显然您想要index.php 文件之外的所有内容,所以不完全是“无论如何”,请尝试使用此条件:

RewriteCond %{REQUEST_URI} !index\.php
RewriteRule ^(.+)$ index.php?url=$1 [L]

链接现在也附加了 ?url=page 。我怎么让它不显示呢?

添加:

RewriteCond %{THE_REQUEST} \ /+index\.php\?url=([^&\ ]+)
RewriteRule ^ /%1? [L,R=301]
于 2013-11-04T06:07:28.370 回答