【发布时间】:2012-09-06 20:23:52
【问题描述】:
好的,伙计们,我遇到了一个让我发疯的问题。事情是这样的:
我决定要重写我网站上的 URL。
它应该从这个语法重写:
http://www.sample.com/programming.php?name=something
到这里:
http://www.sample.com/tutorials/programming/something.php
或者(例如 2):
http://www.sample.com/other.php?name=test
到这里:
http://www.sample.com/tutorials/other/test.php
所以我的 URL 语法是:
http://www.sample.com/tutorials/(name 我的文件)/(变量名).php
我已经尝试了以下代码:
RewriteEngine On
RewriteRule ^tutorials/programming/(.+)$ /programming.php?name=$1 [L]
RewriteRule ^tutorials/other/(.+)$ /other.php?name=$1 [L]
但是,它没有正确地重写 URL。详细解释如下:
所以,当我访问我原来的网站时,它看起来像这样:
http://www.sample.com/programming.php?name=something
如果我访问此网址:
http://www.sample.com/tutorials/programming/something.php
我获得了我的网站 HTML,但没有我的 CSS 布局(仅显示 HTML)。此外,如果我单击非 CSS 网站上的任何其他链接,我会收到错误 404。请注意,index.php 网站的 URL 不是它应该是的:
http://www.something.com/index.php(正确的 index.php 网址)
但它是这样的:
http://www.sample.com/tutorials/programming/index.php(不存在)。
我已经在线阅读了 10 多个教程,请我的同事帮助我,但他的解决方案都没有奏效。所以,我想要完成的只是我的URL被重写了,所以当用户在编程中选择一个教程时,我在地址栏中没有得到这个URL:
http://www.sample.com/programming.php?name=something
但是这个:
http://www.sample.com/tutorials/programming/something.php
这就是我想要的。
我已尽量详细说明。如果您需要更多详细信息,请告诉我。
提前致谢!
【问题讨论】:
标签: php apache url mod-rewrite