我需要一个 .htaccess 文件:该文件将重写规则:
xyz.sitename.com 将被改写为: sitename.com/index.php/a/b/xyz
xyz.sitename.com/m/n/o 将被改写为: sitename.com/index.php/m/n/o/xyz
sitename.com/m/n/o 将被改写为: sitename.com/index.php/m/n/o
我需要一个 .htaccess 文件:该文件将重写规则:
xyz.sitename.com 将被改写为: sitename.com/index.php/a/b/xyz
xyz.sitename.com/m/n/o 将被改写为: sitename.com/index.php/m/n/o/xyz
sitename.com/m/n/o 将被改写为: sitename.com/index.php/m/n/o
Options +FollowSymlinks
RewriteEngine on
RewriteRule (.+).sitename.com/ sitename.com/index.php/a/b/$1
RewriteRule (.+).sitename.com/(.+) sitename.com/$2/$1
请参阅.htaccess 行程和提示。
尝试这个:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^www [OR]
RewriteCond /%{HTTP_HOST} ^(/[^\.]+)\.[^\.]+\.[^\.]+$
RewriteRule ^.*$ /index.php/$0%1
虽然,正如我在另一个答案中提到的那样,尝试创建PATH_INFO
似乎mod_rewrite
有点问题。您可能会有更好的运气,但可以选择编写查询字符串的路径或使用$_SERVER
变量来考虑此信息。