0

我正在构建一个 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(根)

http://rtbstats.com/home(加载主页)

http://admin.rtbstats.com(拉起管理区)

我对这个网站的 prettyURLs 只了解 1 级,但计划建立管理区域以方便 url 路径中的类别子猫等。

管理区域现在甚至可以管理子域,无需访问 cpanel。

所有这些不同的 URL 都由 .htaccess 处理,我现在需要的是修复文件的绝对路径不起作用。

4

1 回答 1

1

动态加载域替换yoursite.com怎么样

像这样:

#this rule removes www from the URL if its used
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

#this rule handles the subdomains
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.(.*)$ [NC]
RewriteRule ^(.*)$ index.php?/public_site/%1/$1 [L]
于 2013-09-12T04:28:12.950 回答