我想做以下事情:
我有一个 htaccess 文件,可以让每个请求都通过
index.php
。如果我没记错的话这就是所谓的引导? (我以前没有这样做过)。
我想在网站的根目录中创建一个子目录作为“测试”网站,因为我无法添加子域。我需要一个 htaccess rewritecond,它将
teszt
文件夹下的任何请求重定向到同一文件夹中的 index.php
。
因此,如果我输入
example.com/[anything]
,我会将数据发送到根目录中的index.php
,如果我输入example.com/teszt/[anything]
,则数据需要发送到teszt/index.php
这是我的 htaccess 文件:
IndexIgnore *
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
您可以在根文件夹中的 htaccess 中使用这些规则:
RewriteEngine On
#rewrite /subfolder/foobar to /subfolder/index.php
ReweriteRule !subfolder/index\.php /subfolder/index.php [L]
#rewrite /foobar to /index.php
RewriteRule !index\.php /index.php [L]
上面的规则还将您现有的文件重写为index.php。如果您不想重写文件,只需在规则中添加一个条件即可
RewriteCond %{REQUEST_FILENAME} !-f
.
虽然这是一篇很旧的帖子,但像我这样的人可能会发现它有用:
.htaccess
应放置在 parent 或 root 文件夹中,并应包含以下代码才能正常工作
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ /teszt/index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ /index.php?url=$1 [QSA,L]
请注意,对于
RewriteRule
,子目录 /
和 teszt
之前需要有
index.php?url=$1
感谢CBroe