2012-11-08 6 views
1

나는 내 웹 사이트를 변경해야하지만, 그들이 옳다고 확신 할 때까지는 내 웹 사이트를 변경하고 싶지 않습니다. 내 계정은 GoDaddy와 관련이 있으며, 내가 할 수있는 유일한 방법은 모든 파일을 다른 폴더로 이동하고 해당 폴더로 이동하여 변경 사항을 테스트하는 것입니다. Duphil.com을 웹 브라우저에서 호출하는 대신 Duphil.com/DuphilWork를 사용합니다. .htaccess 파일의 코딩으로 인해이 폴더에 머 무르지 않습니다. 여기 .htaccess website redirect

는 코딩입니다 :

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/

ErrorDocument 404 /index.php?page=404 
ErrorDocument 403 /index.php?page=403 

RewriteRule ^$ /index.php 
RewriteRule ^about/$ /index.php?page=about 
RewriteRule ^oilfield/$ /index.php?page=oilfield 
RewriteRule ^pipeline/$ /index.php?page=pipeline 
RewriteRule ^safety/$ /index.php?page=safety 
RewriteRule ^sales/$ /index.php?page=sales 
RewriteRule ^contact/$ /index.php?page=contact 
RewriteRule ^stateLicensures/$ /index.php?page=stateLicensures 
RewriteRule ^keyPersonnel/$ /index.php?page=keyPersonnel 
RewriteRule ^projectListings/$ /index.php?page=projectListings 
RewriteRule ^legal/$ /index.php?page=legal 
RewriteRule ^techDivision/$ /index.php?page=techDivision 

RewriteRule ^equipment/$ /index.php?page=equipment 
RewriteRule ^projectImages/$ /index.php?page=projectImages 
RewriteRule ^contact/(.*)/$ /index.php?page=contact&contactName=$1 

어떻게 이러한 목표를 달성 할 수 있습니까?

답변

0

귀하가 수행 한 방식은 .htaccess입니다. 모든 페이지에 대한 규칙에는 몇 가지 단점이 있지만, 페이지를 추가 할 경우 .htaccess을 업데이트해야합니다. 또 다른 단점은 각 규칙을 추가해야하므로 예외를 추가 할 수 없다는 것입니다. 이제

RewriteRule ^DuphilWork/(.*)$ DuphilWork/$1 

RewriteRule ^$ /index.php 
[..] 

, 이것은 여전히에 URL을 작성해야 할 의미가 그렇게하지만 일단 우리가 할 수있는 한 가지 재 작성 계속 안되는 자체 페이지를 다시 작성하고 말할 것입니다 다시 쓰지 않고 테스트 사이트. 즉, 그들은 다음과 같이되어야합니다 : Duphil.com/DuphilWork/index.php?page=oilfield. 당신은뿐만 아니라 테스트 사이트의 애호가 URL을 작성하려는 경우

, 당신의 현재 설정 유일한 방법은 .htaccess 단지에 대한 모든 규칙을 복사하고 경기 패턴에 DuphilWork을 추가하고 중 하나의 경로를 리디렉션하는 것입니다 사본들.

실제 솔루션은 물론이 같은 하나의 규칙이하는 것입니다 :

RewriteCondition !-f 
RewriteRule ^(.*)$ /index.php?page=$1 

를 그리고 이제 페이지에 있는지 확인하고 포함하는 (index.php에 해당 페이지의 문자열을 올바르게 구문 분석 있는지 확인하십시오. 그것은 현재의 문제를 해결하기 위해 사소한 될 경우는. 그러나, 나는 당신이 내가 위에서 준 솔루션이 일을 할 수 있어야합니다 믿는다.


내가 다 복사를 포함하는 전술 전략을 사용하여, 당신을 끝낼 것 같아. 다음과 같이 g :

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/

ErrorDocument 404 /index.php?page=404 
ErrorDocument 403 /index.php?page=403 

RewriteRule ^DuphilWork/$ /DuphilWork/index.php 
RewriteRule ^DuphilWork/about/$ /DuphilWork/index.php?page=about 
RewriteRule ^DuphilWork/oilfield/$ /DuphilWork/index.php?page=oilfield 
RewriteRule ^DuphilWork/pipeline/$ /DuphilWork/index.php?page=pipeline 
RewriteRule ^DuphilWork/safety/$ /DuphilWork/index.php?page=safety 
RewriteRule ^DuphilWork/sales/$ /DuphilWork/index.php?page=sales 
RewriteRule ^DuphilWork/contact/$ /DuphilWork/index.php?page=contact 
RewriteRule ^DuphilWork/stateLicensures/$ /DuphilWork/index.php?page=stateLicensures 
RewriteRule ^DuphilWork/keyPersonnel/$ /DuphilWork/index.php?page=keyPersonnel 
RewriteRule ^DuphilWork/projectListings/$ /DuphilWork/index.php?page=projectListings 
RewriteRule ^DuphilWork/legal/$ /DuphilWork/index.php?page=legal 
RewriteRule ^DuphilWork/techDivision/$ /DuphilWork/index.php?page=techDivision 

RewriteRule ^DuphilWork/equipment/$ /DuphilWork/index.php?page=equipment 
RewriteRule ^DuphilWork/projectImages/$ /DuphilWork/index.php?page=projectImages 
RewriteRule ^DuphilWork/contact/(.*)/$ /DuphilWork/ index.php?page=contact&contactName=$1 

RewriteRule ^$ /index.php 
RewriteRule ^about/$ /index.php?page=about 
RewriteRule ^oilfield/$ /index.php?page=oilfield 
RewriteRule ^pipeline/$ /index.php?page=pipeline 
RewriteRule ^safety/$ /index.php?page=safety 
RewriteRule ^sales/$ /index.php?page=sales 
RewriteRule ^contact/$ /index.php?page=contact 
RewriteRule ^stateLicensures/$ /index.php?page=stateLicensures 
RewriteRule ^keyPersonnel/$ /index.php?page=keyPersonnel 
RewriteRule ^projectListings/$ /index.php?page=projectListings 
RewriteRule ^legal/$ /index.php?page=legal 
RewriteRule ^techDivision/$ /index.php?page=techDivision 

RewriteRule ^equipment/$ /index.php?page=equipment 
RewriteRule ^projectImages/$ /index.php?page=projectImages 
RewriteRule ^contact/(.*)/$ /index.php?page=contact&contactName=$1 
+0

.htaccess 코딩이 내 다른 사람에게 이루어 졌으므로 내가 무엇을 하려는지 몰랐습니다. 라이브 버전 .htaccess 또는 작업 폴더에있는 코딩을 변경해야합니까, 아니면 작업 폴더에서도 필요합니까? 감사. – BurtG

+0

.htaccess는 스크립트가 *에서 * 리디렉션하려는 디렉토리에 있어야하므로 라이브 버전의 스크립트가됩니다. – Jasper

+0

나는 변화를 시도했지만 아무것도 작동하지 않는다. 나는 내가 무엇을하고 있는지 잘 모르기 때문에 주로 생각한다. .htaccess를 사용하는 대신 PHP 파일에서 약간의 변경을 시도해야 할 수도 있습니다. – BurtG