Php通过.htaccess重写url

标签 php .htaccess mod-rewrite yii zurmocrm

我想使用 .htaccess 重写一些 url

我有这样的网址:

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

并想将用户重写为

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

关于Php通过.htaccess重写url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29255578/

相关文章:

ajax - 如何将 url 重定向到另一个

php - 在服务器上将文本转换为路径(svg)?

php - Symfony2 和 Vim 推荐

php - 在应该抛出 403 时抛出 404 响应

html - 使用 htaccess rewrite 使子目录成为其自己的根目录以用于根相对路径请求

.htaccess - Codeigniter安装在子目录中

javascript - 需要建议 : Use server time or user machine's time?

php - 论坛MySQL查询

php - .htaccess 以及多个重写规则和条件的问题

regex - 301重定向将所有空格替换为连字符