使用Mod Rewrite更改网站网址

时间:2016-03-23 20:18:41

标签: php apache mod-rewrite

我对Apache的mod_rewrite很新,我正在尝试更改我的URL在地址栏中的显示方式。比如我想要

  • www.example.com/index.php

  • www.example.com/home

  • www.example.com/products.php

  • www.example.com/products

等等。到目前为止,我有这个想法,但它没有工作

RewriteRule ^home$  /index.php [L]

2 个答案:

答案 0 :(得分:1)

您需要执行以下操作:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.example.com/home/$1 [R=301]

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.example.com/products/$1 [R=301,L]

您可以将它放在apache或.htaccess文件中的httpd.conf中。

L表示 - 最后 - 停止处理规则

答案 1 :(得分:0)

你可以试试这个。将 .htaccess 文件内容编辑为:

Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
</IfModule>

这会将这样的网址重定向: example.com/any_path.php example.com/any_path 。确切的说,是从任何PHP文件中删除.php扩展名。

注意:

  • 对于特定网址,请将([^\.]+)中的RewriteRule替换为文字。
  • 如果您使用的是子目录,请为RewriteBase指定正确的路径。
  • 应为您的服务器系统启用mod_rewrite。谷歌有点打开系统中的mod_rewrite。