如何修改这个mod重写成我想要的网址?

时间:2014-01-11 09:02:19

标签: php apache .htaccess mod-rewrite laravel

我实际上得到了一个答案,如果我想将我的网址从www.mydomain.com/laravel4/public/posts更改为www.mydomain.com/posts

这就是我与.htaccess

的关系
RewriteEngine On

RewriteRule !^laravel4/public/ /laravel4/public%{REQUEST_URI} [L,NC]

但我还有另一个问题,如果我希望网址为www.mydomain.com/laravel4/posts,公众可以修改哪些内容?我认为在上面的代码中取出laravel4会起作用但看起来并不容易:(

2 个答案:

答案 0 :(得分:1)

理想情况下,您应该将Laravel安装移出文档根目录,只需将公共文件夹的内容移动到文档根目录中,然后相应地编辑index.php和bootstrap / paths.php,或者将文档根目录设置为Laravel的公共文件夹,如果您打开支持服务单,某些主机将为您更改文档根目录。

然而,这并不总是可能取决于您的主机,并且大多数人会告诉您去寻找更好的主机,但同样,这并不总是一种选择。

下面是一个.htaccess示例,您可以使用它来重写Laravel的public / index.php的所有URL,但是请注意,这不是一种非常安全的方式来设置Laravel,并且任何人都可以访问您的任何一个文档根目录中存在的配置和其他文件,公开您的数据库密码和用于加密的密钥。

RewriteEngine On
RewriteRule ^ laravel4/public/index.php [L]

根据要求更新

RewriteEngineOn
RewriteRule ^laravel4/.* laravel4/public/index.php [L]

答案 1 :(得分:0)

您可以使用此规则:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/laravel4/public(/|$) [NC]
RewriteRule ^laravel4/(.*)$ /laravel4/public/$1 [L,NC]