将子目录中的所有 URL 重写到特定页面

将子目录中的所有 URL 重写到特定页面

我需要在 example.com/mydir/ 中放置一个 .htaccess,它将 /mydir/(.*) 中的所有 url 重写(不重定向)到 /mydir/index.php?var=$1。如果 url 指向现有路径或文件,则它与我无关(必须重写)。

我不能使用 +FollowSymLinks,但可以使用 SymLinksIfOwnerMatch。

谢谢。

答案1

我认为你正在寻找这样的东西:

RewriteEngine On

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

前两个 RewriteCond 检查以确保文件或目录不存在。第三个检查确保您没有循环。它可能需要根据您的服务器设置进行调整,但它应该可以让您开始。

相关内容