2014-12-02 3 views
1

Я застрял здесь, потому что перенаправление работает неправильно. Он работает с каталогами и файлами HTML, но не перенаправляет файлы PHP.Redirect 301 работает с HTML, но не с файлами PHP?

Пожалуйста, примите мою ошибку. Благодарю.

ErrorDocument 404 http://www.domain.com/404.php 
<ifModule mod_headers.c> 
    <FilesMatch "\.(jpg|jpeg|png|gif|ico|pdf|pdf|xml|txt|css|js)$"> 
    Header set Cache-Control "max-age=604800, proxy-revalidate" 
    </FilesMatch> 
</ifModule> 
<ifModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault A259200 

    ExpiresByType image/gif A2592000 
    ExpiresByType image/png A2592000 
    ExpiresByType image/jpg A2592000 
    ExpiresByType image/x-icon A2592000 
    ExpiresByType image/jpeg A2592000 
    ExpiresByType application/pdf A2592000 
    ExpiresByType application/x-javascript A604800 
    ExpiresByType text/plain A604800 
    ExpiresByType text/css A604800 
</ifModule> 

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^domain\.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] 

Redirect 301 /page.html /page/page.php?title=page 
Redirect 301 /page/ /page.php 
#^works 
Redirect 301 /page/index.php /page/page.php 
Redirect 301 /page/page.php /page/page.php?title=page 
#^doesnt work throws 404.php page 
+0

Какой URL-адрес вы пытаетесь это сделать? – anubhava

+0

Я разместил их в нижней части кода. – HelpNeeder

+0

Redirect 301 /test.php /communities/all-communities.php <<<<< does not work --- work - >>>> Перенаправление 301 /test.html /communities/all-communities.php – HelpNeeder

ответ

1

Избегайте смешивания mod_rewrite правил с mod_alias из них. Попробуйте эти правила:

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,NE,R=301] 

RewriteRule ^communities/hamilton-info\.html$ /communities/community.php?title=Hamilton+Square [L,QSA,NC,R=302] 
RewriteRule ^homesforsale/?$ /rtmi.php [L,NC,R=302] 
#^works 

RewriteRule ^communities/index\.php$ /communities/all-communities.php [L,NC,R=302] 
RewriteRule ^communities/covington-map\.php$ /communities/community.php?title=Covington [L,QSA,NC,R=302] 
#^doesnt work throws 404.php page 

Убедитесь, что нет .htaccess в папке /communities/.

+0

Я пытаюсь это сделать, и все еще работает HTML, а PHP - нет. Я уверен, что вы правы, и я позвоню поставщикам серверов в случае возникновения этой проблемы. – HelpNeeder