1

我有以下 htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/?user=$1

例如,它按预期工作

http://example.com/index.php?user=USERNAME -> http://example.com/USERNAME

但是我在 index.php 页面上创建了一个表单,该表单发布到 /directory/save.php

如何在允许目录的同时删除 .php 以便我可以发布到 /directory/save/ ?

4

3 回答 3

0

directory/ 可能有它自己的重写规则并且没有物理的 save.php,这就是为什么 !-f 可能不起作用。尝试添加新的重写条件以停止重写目录/

RewriteCond %{REQUEST_URI} !^directory
于 2013-04-01T22:07:07.850 回答
0

如果它要进入一个并且只有一个这样的文件,/directory那么可能通过在上述规则之前添加以下来对其进行硬编码?

RewriteRule ^directory/save$ /directory/save.php [L]
于 2013-04-01T22:29:31.660 回答
0

如果它正在将/directory/save.php文件重写到目录/directory/save/,请尝试检查这个

RewriteCond %{REQUEST_URI} ^/directory/save\.php$
RewriteRule ^(.+) /directory/save/ [NC]
于 2013-04-02T05:58:51.053 回答