我正在将此htaccess用于我的应用程序。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我将在浏览器中输入任何URL,如果相应的文件不存在,则会打开index.php。
问题是我在同一个域上安装了许多这样的应用程序。
例如,root包含index.php文件和上面的htaccess。
我还有/ store,它包含一个index.php文件和一个像上面这样的htaccess,但是当我访问/ store / something时它会打开root的index.php(而不是正确的/ store / index)。 PHP
如何解决这个问题(如何使root的htaccess不覆盖/ store的htaccess)?谢谢!
答案 0 :(得分:3)
您可以使用跳过目录规则来跳过所有目录:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# skip index.php and some directories
RewriteRule ^(store/|site1/|site2/|index\.php$) - [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>