2013-05-03 2 views
0

Joomla로 사용자 정의 PHP 사이트를 사용하는 프로젝트 작업. 새 사이트가 이전 사이트를 미러링 있도록.html에서 .php로 url 접미어를 변경 joomla 2.5

이 나는 ​​구조를 설정 한 그래서 예를 들면 :

oldsite.com/training/teaching-skills.php

새로운 사이트 :

newsite.com/training/teaching-skills.html

내가 읽을 수있는 새로운 사이트가 필요합니다

newsite.com/training/teaching-skills.php

내가 알아야 할 것은 사용자 친화적 인 URL을 활성화 할 때 .php 확장자를 유지하는 방법입니다. 기본적으로 줌라가 htaccess로 파일을 통해 .html 중에서 추가 할 것입니다하지만 난/추가/유지 .PHP

기본 htaccess로 파일을 사용하여이 작업을 바꾸려는 다음과 같습니다

** 

## 
# @package  Joomla 
# @copyright Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved. 
# @license  GNU General Public License version 2 or later; see LICENSE.txt 
## 
## 
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE! 
# 
# The line just below this section: 'Options +FollowSymLinks' may cause problems 
# with some server configurations. It is required for use of mod_rewrite, but may already 
# be set by your server administrator in a way that dissallows changing it in 
# your .htaccess file. If using it causes your server to error out, comment it out (add # to 
# beginning of line), reload your site in your browser and test your sef url's. If they work, 
# it has been set by your server administrator and you do not need it set here. 
## 
## Can be commented out if causes errors, see notes above. 
Options +FollowSymLinks 
## Mod_rewrite in use. 
RewriteEngine On 
## Begin - Rewrite rules to block out some common exploits. 
# If you experience problems on your site block out the operations listed below 
# This attempts to block the most common type of exploit `attempts` to Joomla! 
# 
# Block out any script trying to base64_encode data within the URL. 
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] 
# Block out any script that includes a <script> tag in URL. 
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR] 
# Block out any script trying to set a PHP GLOBALS variable via URL. 
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] 
# Block out any script trying to modify a _REQUEST variable via URL. 
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) 
# Return 403 Forbidden header and show the content of the root homepage 
RewriteRule .* index.php [F] 
# 
## End - Rewrite rules to block out some common exploits. 
## Begin - Custom redirects 
# 
# If you need to redirect some pages, or set a canonical non-www to 
# www redirect (or vice versa), place that code here. Ensure those 
# redirects use the correct RewriteRule syntax and the [R=301,L] flags. 
# 
## End - Custom redirects 
## 
# Uncomment following line if your webserver's URL 
# is not directly related to physical file paths. 
# Update Your Joomla! Directory (just/for root). 
## 
# RewriteBase/
## Begin - Joomla! core SEF Section. 
# 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
# 
# If the requested path and file is not /index.php and the request 
# has not already been internally rewritten to the index.php script 
RewriteCond %{REQUEST_URI} !^/index\.php 
# and the request is for something within the component folder, 
# or for the site root, or for an extensionless URL, or the 
# requested URL ends with one of the listed extensions 
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC] 
# and the requested path and file doesn't directly match a physical file 
RewriteCond %{REQUEST_FILENAME} !-f 
# and the requested path and file doesn't directly match a physical folder 
RewriteCond %{REQUEST_FILENAME} !-d 
# internally rewrite the request to the index.php script 
RewriteRule .* index.php [L] 
# 
## End - Joomla! core SEF Section. 

**

이에 대한 조언이 크게 종류가 앨런

과 관련

받은 것

+0

sh404SEF와 같은 joomla 확장이 있습니다. – vishal

+0

sh404SEF는 내가 볼 수있는 것에서 만 .html을 URLS에 추가합니다. 나는 .php를 갖기 위해 URL이 필요하다. – Alan

답변

0

이유는 단지 T로 가리키며 .php 모든 URL을 리디렉션 할 새 HTML URL?

RewriteEngine on 
RewriteBase/

RewriteCond %{THE_REQUEST} (.*)\.php 
RewriteRule ^(.*)\.php $1.html [R=301,L] 
0

나를 위해 일한 단계가 있습니다.

->에 갈 포함> router.php

-> 광고 번호 (100)로 이동하여 변경

if ($format = $uri->getVar('format', 'html')) 

if ($format = $uri->getVar('format', 'php')) 

-> 광고 번호 (67) 변화로 이동

$vars['format'] = $suffix; 

$path = str_replace('.'.$suffix,'' , $path); 
if ($suffix == 'php') { 
$vars['format'] = 'html'; 
} else { 
$vars['format'] = $suffix; 
}