我在laravel应用程序中配置htaccess时遇到问题。
我正在使用以下代码将用户重定向到正确的路径。我试图将host_name添加到我的htaccess中,但它破坏了应用程序的内部页面。 IP地址重定向现在工作正常。
File : laravel_app/public/.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{HTTP_HOST} ^10\.10\.10\.201$
# RewriteCond %{HTTP_HOST} ^host_name$ -- It breaks the other page.
RewriteRule (.*) http://host_name.maindomain.com/$1 [R=301,L]
</IfModule>
用户可以手动导航至ff:
http://host_name/login
http://10.10.13.201/login
但是我希望他们使用下面的严格路径:
http://host_name.maindomain.com/login
使用htaccess可以实现吗?
编辑:
http://host_name.maindomain.com
指向laravel_app/public
。
答案 0 :(得分:1)
您无法链接RewriteCond
,因此您的.htaccess
的配置无效,因为它将仅尝试绑定最后一个条件,而第一个条件没有相应的规则:
尝试这样的事情:
RewriteCond %{HTTP_HOST} ^10\.10\.13\.201$
RewriteRule (.*) http://host_name.maindomain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^host_name$
RewriteRule (.*) http://host_name.maindomain.com/$1 [R=301,L]