删除.php扩展名并添加一个斜杠

时间:2015-02-28 06:41:31

标签: .htaccess web

美好的一天

我只是陷入了我想删除.php扩展名的中间位置并以一个斜杠为例

我当前的网址是

http://example.com/campus.php?college=BGIET,%20Sangrur

现在我想将其更改为

http://example.com/campus/BGIET,Sangrur

是否有可能做到这一点我对如何实现这一点毫无头绪

和是/ mod_rewrite已启用

证明: -

RewriteEngine On
RewriteRule ^google.html$ http://www.google.com/ [R=301]

转到http://www.example.com/google.html重定向到Google.com,以便启用..

请帮助我(._。)

2 个答案:

答案 0 :(得分:0)

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

中的/
RewriteEngine on

RewriteCond %{THE_REQUEST} \ /campus\.php\?college=([^\s&]+) [NC]
RewriteRule ^ /campus/%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^campus/(.*)$ /campus.php?college=$1 [NC,L]

第一条规则确保如果使用旧URL,则会自动将用户重定向到新URL。第二个规则在幕后解析了php的非php链接。

答案 1 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

Options -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /campus\.php\?college=([^\s&]+)\%20([^\s&]+) [NC]
RewriteRule ^ campus/%1%2? [R=302,L,NE]

RewriteCond %{THE_REQUEST} /campus\.php\?college=([^\s&]+) [NC]
RewriteRule ^ campus/%1%2? [R=302,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^campus/(.+?)/?$ campus.php?college=$1 [NC,L,QSA]