【发布时间】:2012-11-04 02:41:30
【问题描述】:
我需要将我网站中的文章和个人资料链接更改为动态链接。即
-
文章:
site.com/article.php?id=12变为site.com/article/this_is_title_of_article -
个人资料:
site.com/ref.php?user=23变为site.com/john_doe
所以我写了这个给.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ ref.php?user=$1 [QSA,L]
RewriteRule ^articles/(.*)$ article.php?user=$1 [QSA,L]
因此,它适用于配置文件。你可以输入site.com/username,它可以工作。但是,对于文章,它没有 - 它只是不显示任何内容。
我不明白为什么如果用户名超过一个单词,它不会在单词之间添加下划线:即使我添加到像site.com/john_doe 这样的 URL 也不起作用。
所以,上面的代码几乎只适用于用户名并且如果该用户名只有一个单词。
【问题讨论】:
-
您是否将文件命名为
.htacess?如果是,则将其重命名为.htaccess。 -
抱歉,打错了。名字很好。毕竟,代码正在部分使用配置文件重写
-
嗨,丹尼,我希望我知道那是什么意思。我已经粘贴了上面 .htaccess 中的所有内容,并且我在本地主机中使用 XAMPP。我不知道 rewritebase 虽然
标签: apache .htaccess url-rewriting