htaccess mod_rewrite帮助

时间:2010-03-04 07:19:59

标签: php apache .htaccess mod-rewrite

我的网站位于文件夹中。

http://domain.com.au/website/page.php

我只能访问.htaccess文件来制定规则。 我希望我的网址看起来像这样..

http://domain.com.au/page

所以本质上我想放下它所在的子文件夹,以及php扩展。

我的php中的所有链接都是这样构建的

<a href="/website/page.php">page link</a>

对于js和css来说,这是相同的。它们都来自'website'文件夹。

重写是否意味着我必须更改所有链接?

优先级是从网址中删除文件夹,而不是php扩展名。

2 个答案:

答案 0 :(得分:0)

1)您可以将所有文件移动到根网站目录并从那里运行网站。 2)您必须手动修改每个链接以从头开始删除网站目录,然后使用.htaccess文件将页面重定向回相应的页面。如果你打算这样做,你也可以删除PHP扩展...

RewriteEngine On
Options +FollowSymLinks

RewriteCond %{HTTP_HOST} ^domain.com.au$ [NC]
RewriteRule ^(.*)/ website/$1.php [L]

在某些情况下,您可能必须修改website/$1.php部分以包含整个根目录,但只要.htaccess文件位于根网站目录中,它就应该有效。这会将“http://domain.com.au/page”形式的任何页面重定向到“http://domain.com.au/website/page.php”,同时在地址栏中保持URL相同。

答案 1 :(得分:0)

<IfModule mod_rewrite.c>
    RewriteEngine on

        RewriteRule    ^page\_one/(.*)/([0-9]{1,6})/?$ webroot/products/products/view/$2    [L]

 </IfModule>

此htaccess代码重定向来自www.domain.com/page_one/anything/numeral的所有流量

到页面www.domain.com/webroot/products/products/view/same数字

您的示例,例如

    RewriteRule    ^page?$ website/page.php$2    [L]

请注意,这适用于“page”作为字符串,如果您需要其他功能,请更改

要获得更多见解,您可能需要查看以下链接: http://www.javascriptkit.com/howto/htaccess.shtml

相关问题