如果文件或目录存在,我不想将所有内容重定向到index.php exepept。我试过谷歌的一些方法,但这确实减慢了网站的速度,并没有真正起作用,所以我觉得我弄错了。
所以这样的网址:
`site.com/Projects/S01/ -> site.com/Projects/S01/index.php (original)` `site.com/Projects/GE5/ -> site.com/Projects/GE5/index.php (original)` `site.com/Projects/ -> site.com/index.php` `site.com/Websites/ -> site.com/index.php` `sits.com/Testifcate/ -> site.com/index.php`
这是最快的方式吗?我试过的所有方法都很慢。 谢谢。诸如main.css之类的文件在加载时也很慢,也许那些文件不能实现检查以使其更快?最好的方法是什么?
答案 0 :(得分:2)
这是我的重写规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
答案 1 :(得分:1)
尝试以下方法:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f # ensures it's not a file
RewriteCond %{REQUEST_FILENAME} !-d # ensures it's not a directory
RewriteRule . index.php [L,QSA] # . matches all, and routes to index.php if the above conditions do not match
答案 2 :(得分:0)
这适合你吗?
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^$ RewriteCond %{HTTP_HOST} ^domain.com$ RewriteRule ^$ http://domain.com/index.php [L,R=301]
我希望它有所帮助