删除URL部分并使用htaccess重写它

时间:2013-10-19 11:06:37

标签: php .htaccess

我的网站上有http://domain.com/index.php?page=events/eventdetails/1/Silver+Jubileehttp://domain.com/index.php?page=events/announcementdetails/2http://domain.com/index.php?page=events/announcementdetails/3等网址,我想将其更改为http://domain.com/Events/Eventdetails/1/Silver+Jubileehttp://domain.com/Announcements/Announcementdetails/3

目前我的htaccess文件如下所示,其中我正在为其他一些页面进行URL重写。

Options +FollowSymLinks
RewriteEngine On
RewriteRule  AboutUs$ /index.php?page=home/aboutus [QSA,L]
RewriteRule  Announcements$ /index.php?page=events/announcements [QSA,L]
RewriteRule  Church-Officials$ /index.php?page=account/official [QSA,L]
RewriteRule  PhotoGallery$ /index.php?page=gallery/album [QSA,L]
RewriteRule  VideoGallery$ /index.php?page=videogallery/videos [QSA,L]
RewriteRule  ContactUs$ /index.php?page=home/contactus [QSA,L]
RewriteRule  Vicar-Message$ /index.php?page=events/allmessages [QSA,L]
RewriteRule  Events$ /index.php?page=events/event [QSA,L]
RewriteRule  Gallery-Images$ /index.php?page=gallery/photos [QSA,L]

RewriteRule ^/(.*)$ /index.php?page=$1 [QSA,L]

如何使用htaccess完成?谁能帮助我做到这一点。提前谢谢。

1 个答案:

答案 0 :(得分:0)

将此添加到您的网络根.htaccess目录

中的/
RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /index\.php\?page=([^\s]+) [NC]
RewriteRule ^ http://domain.com/%1 [R=301,L]

RewriteCond %{THE_REQUEST} !^[A-Z]{3,}\ /index\.php [NC]
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]