我有自己的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]
但它没有用。
对不起,我的英语不好,谢谢代码。
答案 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