Php通过.htaccess重写url


Php rewrite url through .htaccess

我想用.htaccess重写来重写一些url

我有这样的网址:

domain.com/app/index.php/appmedia/default/login

并希望将用户重写为

domain.com/app/index.php/zurmo/default/login

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

我是php的新手,读过一些像这样的博客,运气不好

此外,已经尝试过这种

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',