我有以下问题:
我的网站有两个域名:
www.user.tucana.uberspace.de和www.my-domain.de
如何创建一个有效的301从www.user.tucana.uberspace.de重定向到www.my-domain.de?我的意思是,如果用户通过www.user.tucana.uberspace.de/ mean /news进入我的网站,我希望我的htaccess将重定向到www.my-domain.de/mean/news.
在我的htacces中,我创建了以下代码:
Options -MultiViews RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteBase /
RewriteCond %{HTTP_HOST} !=www.my-domain.de
RewriteRule (.*) http://www.my-domain.de/$1 [R=301,L]
但问题是..。如果用户进入网站www.user.tucana.uberspace.de/ will /news,他将被重定向到www.my-domain.de/index.php/will/news。
此代码将工作,但不适用于根URL:
Options -MultiViews RewriteEngine OnRewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !=www.my-domain.de [NC]
RewriteRule ^ http://www.my-domain.de%{REQUEST_URI} [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
如果我使用上面的代码,URL www.user.tucana.uberspace.de / will /news将更改为www.my-domain.de/www.user.tucana.uberspace.de--这是正确的,但是如果我键入,该URL将更改为www.my-domain.de/index.php .为什么:-?那么,如何避免url中的index.php呢?
发布于 2014-01-09 11:26:48
你可以这样遵守你的规则:
Options -MultiViews
RewriteEngine On
# remove index.php
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*?)index\.php$ /$1 [L,R=302,NC,NE]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.my-domain\.de$ [NC]
RewriteRule ^ http://www.my-domain.de%{REQUEST_URI} [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]还可以在新浏览器中进行测试,以避免301缓存。
https://stackoverflow.com/questions/21018763
复制相似问题