【发布时间】:2014-10-31 17:13:21
【问题描述】:
老实说,我对.htaccess 的经验很少,因为我一直想尽我所能远离它。但是,我最近想整理我的网址,我发现可以通过.htaccess 和重写。
基本上,我想重写一个像这样的url:
www.mysite.com/profile.php?id=48194
类似于:
www.mysite.com/profile/48194
这是我目前拥有的代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^profile/(.*)/$ profile.php?id=$1
我尝试使用的行位于最底部,RewriteRule ^profile/(.*)/$ profile.php?id=$1。其余的用于从 url 中删除页面扩展。我已将 $1 更改为 $2 认为它可能与上面的代码冲突,但没有任何改变。
我还删除了除RewriteEngine on 之外的所有代码,最后一行认为代码可能存在冲突,但同样,没有任何改变或工作。其余代码确实有效,即从 url 中删除扩展名,所以我知道重写的事情正在进行中。
有人可以尝试分解并解释我做错了什么以及这一切是如何运作的吗?以及提供我正在尝试完成的事情的工作示例?
提前致谢!
【问题讨论】:
标签: php apache .htaccess mod-rewrite url-rewriting