【发布时间】:2015-06-08 04:58:58
【问题描述】:
使用 Laravel,我在名为 webpage 的子目录中生成 php 页面。我想允许用户使用子域访问页面。例如,我在webpage 目录中生成了一个文件whoami.php。如果人们尝试访问whoami.domain.com,他可以看到whoami.php。我在webpage 中创建了一个index.php,它可以提取别名并显示文件。我需要的想法是将子域传递给 index.php 文件而不重定向。我写的htaccess如下
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
#sub domain custom part
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ http://domain.com/webpage/%1/$1 [L,NC,QSA]
</IfModule>
但我正在重定向到http://domain.com/webpage/whoami。
我试图清楚地提出我的要求并粘贴我尝试过的内容。你能帮我想想办法吗?
编辑 1
根据@Starkeen 的回答,我现在在重定向循环中尝试了以下代码 (http://whoami.domain.com/webpage/whoami/webpage/whoami/......)。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
#sub domain
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$
RewriteRule ^(.*)$ /webpage/%1/$1 [L,NC,R]
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
【问题讨论】:
标签: php .htaccess redirect laravel-5