初学者Apache URL重写问题

时间:2009-05-18 15:04:01

标签: apache url-rewriting

我只是想弄清楚我是否走在正确的道路上 - 我的例子中有关重写URL的其他详细信息将不胜感激。

我已安装了CMS程序,只需将www.example.com指向www.example.com/cms即可。我只是想知道通过apache重写URL是否是实现此目的的最佳方法?

谢谢。

2 个答案:

答案 0 :(得分:2)

只需将http://example.com/重定向到http://example.com/cms/

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewritRule ^/?$ /cms/
</IfModule>

重定向所有以404d开头的网址/ cms /:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ /cms/$1 [L]
</IfModule>

将所有网址重定向到/ cms /:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^(.*)$ /cms/$1 [L]
  <Directory /var/www/html/cms/> #change this to the correct path
    RewriteEngine Off
  </Directory>
</IfModule>

答案 1 :(得分:1)

这绝对是我采取的方法。我将假设您正在使用Apache,尽管这也可以通过IIS轻松完成。您需要在根目录中编辑.htaccess文件才能使用mod_rewrite执行此操作。

<IfModule mod_rewrite.c>

   RewriteEngine on

   RewriteRule    ^(.*)$ /cms/$1  [L]

</IfModule>

这应该适用于您所追求的目标。将“cms”更改为您要重写的目录。