在htaccess中更改页面URL

时间:2015-06-11 13:40:51

标签: apache .htaccess

我有自己的CMS系统,但我无法在.htaccess文件中创建代码。

我希望从http://example.com/?page=forum重定向到http://example.com/forum ...
我不知道,怎么做......

我尝试了以下内容:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /projects/cms/

RewriteCond ?page=([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L,NE]


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]

但它没有用。
对不起,我的英语不好,谢谢代码。

1 个答案:

答案 0 :(得分:0)

发布的评论a script to do it是正确的 - 您需要检查page=<something>是否存在RewriteCond %{QUERY_STRING} page=([^\s&]+) [NC] RewriteRule ^ %1? [R=301,L,NE] ,如下所示:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /projects/cms/

RewriteCond %{QUERY_STRING} page=([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

您的文件现在应如下所示:

mod_rewrite

如果仍然无法正常工作,则需要确保服务器上已启用AllowOverride All,并且在服务器或虚拟主机配置中设置了{{1}}。有关如何执行此操作的详细信息,请参阅此处:short-circuit