我正在构建一个 php 站点框架,并且有几件事我想开箱即用地添加,但它们需要由 .htaccess 处理
更新:
我非常接近让它完美地工作。
RewriteEngine on
#this rule removes www from the URL if its used
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#this rule handles the subdomains
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.(.*)$ [NC]
RewriteRule ^(.*)$ index.php[L]
#this rule handles redirecting all addresses to index.php
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php
现在一切正常,它处理地址栏上的子域和所有路径。
但是现在发生的一件事是,如果我尝试使用绝对路径直接访问文件,例如 css/master.css,那么它会加载 index.php。
是否可以对此进行调整以确保文件是否存在于不重定向的路径中。
很近
测试站点。
http://something.rtbstats.com(404:作为子域不存在)
http://tracking.rtbstats.com(使用子文件夹中的索引文件)
http://rtbstats.com/home(加载主页)
http://admin.rtbstats.com(拉起管理区)
我对这个网站的 prettyURLs 只了解 1 级,但计划建立管理区域以方便 url 路径中的类别子猫等。
管理区域现在甚至可以管理子域,无需访问 cpanel。
所有这些不同的 URL 都由 .htaccess 处理,我现在需要的是修复文件的绝对路径不起作用。