不确定我是否准确地为我的问题命名。我有这样的目录结构:
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 或者修改 .htaccess 以便它允许 index.php 与post.php。
有什么想法吗?
答案 0 :(得分:1)
RewriteRule %{QUERY_STRING} ^$
检查空查询字符串是不够的,因为它不会阻止此规则影响真实文件和目录的服务。
您可以使用此规则:
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^edit/([\w-]+)/?$ edit/index.php?var=$1 [NC,L,QSA]