允许htaccess中重写所有子目录的特定文件



不确定我的问题标题是否准确。我有一个这样的目录结构:

example.com/edit/43424242/

其中末尾的数字实际上不是文件夹。它实际上只是我想在/edit/index.php目录中使用的一个变量。

我试着在根目录下的.htaccess文件中使用这个:

RewriteEngine ON
RewriteRule %{QUERY_STRING} ^$
RewriteRule ^edit/(.*)/?$ edit/index.php?var=$1 [NC,L]

但这不起作用,因为它把我的AJAX帖子弄乱了,放到了/edit/post.php目录中的另一个文件中

所以我想也许我需要修改我的.htaccess文件,这样我仍然可以将子目录作为变量检索,并且仍然可以使用post.php,或者修改.htacccess,这样它就可以让index.php与post.php通信。

有什么想法吗?

RewriteRule %{QUERY_STRING} ^$

仅检查空查询字符串是不够的,因为它不会阻止此规则影响实际文件和目录的服务。

您可以使用以下规则:

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^edit/([w-]+)/?$ edit/index.php?var=$1 [NC,L,QSA]

相关内容

  • 没有找到相关文章