我如何设置我的htaccess来做到这一点?

时间:2011-08-21 23:37:38

标签: apache .htaccess mod-rewrite

我正在尝试设置我的htaccess文件来执行这些重定向:

http://www.mysite.com/about 应该链接到 http://www.mysite.com/content/pages/about.php

http://www.mysite.com/login 应链接至 http://www.mysite.com/content/pages/login.php

http://www.mysite.com/prices 应链接至 http://www.mysite.com/content/pages/prices.php

由于

1 个答案:

答案 0 :(得分:1)

要仅重定向您提供的网址,您可以使用此类规则(您可以将其他网页添加到您需要的列表中):

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteRule ^(about|login|prices)$ /content/pages/$1.php [L]

要将所有不存在的网页重定向到/content/pages/PAGE_NAME.php,您可以使用以下规则:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

# do not do anything for already existing files (like images/css/js etc)
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ - [L]

# redirect everything else
RewriteCond %{REQUEST_URI} !^/content/pages/
RewriteRule ^(.+)$ /content/pages/$1.php [L]

备注: 您需要将这些规则放在网站根文件夹中的.htaccess中。如果放在其他地方,可能需要进行一些小的调整。