【问题标题】:How to access the domain by custom name without changing actual url in next action如何在下一步操作中通过自定义名称访问域而不更改实际 url
【发布时间】:2015-05-31 09:20:42
【问题描述】:

这是我的网站

www.mywebsite.com/project

但我想通过名字来访问它

www.mywebsite.com/project/admin

www.mywebsite.com/project/user

内容位于project 文件夹中。

我该怎么做?

这是我已经拥有的.htaccess

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

注意:

我正在使用 laravel 框架

【问题讨论】:

  • 我认为这与 htaccess 没有任何关系。您的解决方案很可能会涉及路由和控制器。
  • 那么,我应该只处理路由吗?
  • 您在上面示例中提到的管理员和用户必须是用户名.. 必须作为参数传递并且必须使用路由处理。 laravel.com/docs/5.0/routing#route-parameters
  • @ntuple:但我需要更改整个路线对吗?

标签: php .htaccess mod-rewrite laravel url-rewriting


【解决方案1】:

因为你使用的是 Laravel,所以你不需要像上面 Mike Anthony 提到的那样对 .htaccess 做任何事情。你需要在你的路由中加入一个参数。

我猜你想按用户列出所有项目并且你已经有了项目控制器。如果这正确,您可以看到下面的示例。

示例

//add this code in /app/Http/routes.php
Route::get('project/{username}', function($username)
{
    $user = User::where('username', $username)->first();
    $projects = $user->projects()->get();
});

注意:从示例中您需要创建用户模型和项目模型之间的关系

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多