【发布时间】:2016-01-07 19:13:20
【问题描述】:
我想添加在本地环境 (localhost) 和我的 liveserver 上工作的重写器。
为什么?
当我在本地测试我的项目并将其上传到实时服务器时,我不想更改规则。
-
添加规则
这里是一个例子
(ANY-URL)index.php?page=somepage改成
(ANY-URL)/somepage所以我使用了一个 rewritemod 生成器并将其粘贴到其中:
index.php?page=somepage我得到的重写规则是这样的:(当然我的 .htacces 以 RewriteEngine On 开头)
RewriteRule ^([^/]*)$ /?page=$1 [L]当我尝试访问
(http:) //localhost/myproject/development/index.php?page=login时,它会将我发送到本地开发环境的根目录。但是地址行中的 URL 没有改变。 -
测试
当然,我尝试了一些其他规则,将整个 URL 粘贴到生成器中,只是为了测试重写是否有效。 同样在这里,URL 不会更改为短 url,但服务器无法再找到样式表和 javascript。我被重定向到 index.php
-
可能的解决方案?
- 也许它与那个“RewriteBase”有关?
- 我必须设置基本路径吗?
我的 .htacces 位于此处:
//localhost/myproject/development/.htaccess
稍后我还想更改如下所示的路径:
(ANY-URL)index.php?page=somepage&second=hello&third=world&fourth=cool
另外,我正在寻找一种适用于两种环境的解决方案。
【问题讨论】:
标签: .htaccess mod-rewrite url-rewriting