简单的mod_rewrite不起作用

时间:2014-04-12 09:04:43

标签: apache .htaccess mod-rewrite

我试图做一个简单的mod_rewrite。以下是我的localhost / wordpress / .htaccess文件的内容:

<IfModule mod_rewrite.c>  
  RewriteEngine on  
  RewriteRule /([0-9]+) /?page_id=$1
</IfModule>

我检查过mod_rewrite模块是否存在(使用phpinfo()),它似乎是。实际上它以前没有,我使用sudo a2enmod rewrite启用它。

对于此测试,我想重写:

localhost / wordpress / 13 - &gt;本地主机/ WordPress的/?PAGE_ID = 13

实际上,最后我只想做:

localhost / wordpress / photos - &gt;本地主机/ WordPress的/?PAGE_ID = 13

..无法开始工作。我写错了规则吗?或者我应该在Apache的某个地方检查,也许我没有正确设置的东西?感谢

1 个答案:

答案 0 :(得分:1)

您必须在规则路径中包含 wordpress 文件夹。

你可以这样做

RewriteEngine on
RewriteRule ^photos$ /wordpress/index.php?page_id=13 [L]

或者这种方式(两者都是等价的)

RewriteEngine on
RewriteBase /wordpress/

RewriteRule ^photos$ index.php?page_id=13 [L]