我想将domain.com/index.php重定向到domain.com

时间:2013-11-03 05:57:03

标签: php regex apache .htaccess mod-rewrite

如何将mydomainname.com/index.php重定向到mydomainname.com

目前我也使用以下代码。

<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^mydomianname\.com
    RewriteRule (.*) http://mydomianname.com/$1 [R=301,L]

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?p=([^\s&]+) [NC]
    RewriteRule ^ /%1? [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?p=$1 [QSA,L]
</IfModule>

2 个答案:

答案 0 :(得分:1)

这应该是您完整的.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^mydomianname\.com
    RewriteRule (.*) http://mydomianname.com/$1 [R=301,L]

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?p=([^\s&]+) [NC]
    RewriteRule ^ /%1? [R=301,L]

    # remove index.php
    RewriteCond %{THE_REQUEST} /index\.php [NC]
    RewriteRule ^(.*?)index\.php$ /$1 [L,R=301,NC,NE]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?p=$1 [QSA,L]
</IfModule>

答案 1 :(得分:0)

这个例子仅适用于http,但应该粗略地做。

# Redirect requests with index.php to the corresponding request
# without the index.php 
RewriteRule ^index.php(.*) http://mydomianname.com$1 [R=301,L]