Php 通过 .htaccess 重写 url

Php rewrite url through .htaccess

我想用.htaccess重写一些url rewrite

我有url这样的东西:

域名.com/app/index.php/appmedia/default/login

并想将用户重写为

域名.com/app/index.php/zurmo/default/login

因此,用户将在浏览器中看到 appmedia,但在后端将访问 zurmo

我是 php 的新手,读过一些博客,例如 this 运气不好

也试过这个

RewriteEngine On
RewriteRule ^app/index.php/appmedia/default/login.*$ http://domain.com/app/index.php/zurmo/default/login [R=301,L]

它说页面重定向不正确

.htaccess 文件的编辑

RewriteEngine On
RewriteRule ^app/index.php/appmedia/default/login.*$ http://mydomainx.com/app/index.php/zurmo/default/login [R=301,L]

您不能使用 [R=301] 并期望 URL 不变。 R 表示重定向。所以它会变成你告诉它的URL。对于内部重写,您需要将其关闭。

如果您的文档根目录中有 .htaccess,那么您应该能够执行此操作。我不知道您的设置如何,但这应该重写 URI。

Options -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^app/index.php/appmedia/default/login/?$ /app/index.php/zurmo/default/login [L]

如果您正在使用 yii 框架,请这样做:

'urlManager' => array (
 'class' => 'application.core.components.ZurmoUrlManager',
 'urlFormat' => 'path',
'caseSensitive' => true,
'showScriptName' => true,
'rules' => array(
 // Begin Not Coding Standard
 // API REST patterns
 array('zurmo/default/login','pattern' => 'appmedia/default/login',