我是mod_rewrite的新手,所以我需要你们的帮助。
我的文件夹结构是:
assets/fonts/ Contains all fonts
assets/images/ Contains all images
assets/scripts/ Contains all JavaScript files
assets/styles/ Contains all CSS files
pages/ Contains parts of the page as PHP file or directory containing PHP files
header.php Header of site
footer.php Footer of site
index.php index of site, now always loads pages/home.php.
pages目录包含home.php,about.php等页面的所有正文部分。它还包含'portfolio'等目录,而这些目录又包含更多的.php文件。
这就是我希望我的网址重写的方式。
http://domain.com/about => http://domain.com/index.php?route=about
http://domain.com/about/kittens => http://domain.com/index.php?route=about/kittens
但是,这应该直接将请求排除在assests
或pages
文件夹之外。
页面文件夹应该排除在http://domain.com/pages/about
等直接请求上的原因是因为站点的某些部分加载了AJAX。
最好是排除根目录中的任何目录。
答案 0 :(得分:2)
您可以按照以下方式使用方法:
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|pages|robots\.txt)
RewriteRule ^(.*)$ /index.php?route=$1 [L]
将其保存为根文件夹中的.htaccess
。