我有以下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 /而不是?
答案 0 :(得分:0)
目录/可能有自己的重写规则而没有物理save.php,这就是原因!-f可能无效。尝试添加新的重写条件以停止重写目录/
RewriteCond %{REQUEST_URI} !^directory
答案 1 :(得分:0)
如果要转到/directory
中的一个且只有这样的文件,则可能通过在上述规则之前添加以下内容来对其进行硬编码?
RewriteRule ^directory/save$ /directory/save.php [L]
答案 2 :(得分:0)
如果它将 /directory/save.php 文件重写到目录 / directory / save /
,请尝试检查这个RewriteCond %{REQUEST_URI} ^/directory/save\.php$
RewriteRule ^(.+) /directory/save/ [NC]