2016-10-04 3 views
1

맞춤식 CMS 시스템을 사용하는 데 일반적으로 사용되는 것보다 약간 더 복잡한 웹 사이트를 설정 중이며 걸림돌이 있습니다.Mod_rewrite - .htaccess의 여러 규칙

http://www.mywebsite.com/page.php?page_url=val1

http://www.mywebsite.com/val1

일반적으로

문제 없어,하지만 기존의 .htaccess :

기본적으로 내가 무엇을 달성하기 위해 걸려 라하는 것은 다음과 같이 URL이 깨끗 있도록 간단한 최상위 페이지 구조 이미 여러 개의 RewriteRules가 있으며 RewriteRule을 추가 할 때마다 충돌이 발생하고 선택 페이지가 작동하지 않습니다.

시도 변화의 주위에 ... 아니 기쁨으로

RewriteCond %{QUERY_STRING} ^page=(.+) 
RewriteRule ^$ /%1? [R=301,L] 

.

전략을 다시 생각해야합니까, 아니면 제가 간과하고있는 부분이 있습니까?

나는 시장 LEVEL이 다시 #에서 재 작성 작업을 지정 않는다 'market.php'최상위 - 카테고리 페이지를 만드는쪽으로 다시 생각해야 하는가

다음과 철저한 후 잘 작동으로 기존의 .htaccess입니다 테스트하지만 새로운 최상위 페이지를 포함하도록 변경하면 오류가 발생합니다.

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
# Force search engines to use www 
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com$ 
RewriteRule ^(.*) http://www.mywebsite.com/$1 [R=301,L] 
# Specify MARKET LEVEL rewrite 
RewriteRule ^top-level-category-1$ /market.php?p=top-level-category-1 [L] 
RewriteRule ^top-level-category-2$ /market.php?p=top-level-category-2 [L] 
RewriteRule ^top-level-category-3$ /market.php?p=top-level-category-3 [L] 
RewriteRule ^top-level-category-4$ /market.php?p=top-level-category-4 [L] 
RewriteRule ^top-level-category-5$ /market.php?p=top-level-category-5 [L] 
RewriteRule ^top-level-category-6$ /market.php?p=top-level-category-6 [L] 
Options +FollowSymLinks 
# Specify OFFER LEVEL rewrite 
RewriteRule offer/(.*)/ offer.php?p=$1 
RewriteRule offer/(.*) offer.php?p=$1 
# Specify CLAIM OFFER LEVEL rewrite 
RewriteRule get-offer/(.*)/ reveal.php?claim=$1 
RewriteRule get-offer/(.*) reveal.php?claim=$1 
# Specify CLAIM EVENT LEVEL rewrite 
RewriteRule event-bonus/(.*)/ reveal-event.php?claim=$1 
RewriteRule event-bonus/(.*) reveal-event.php?claim=$1 
# Specify SEARCH LEVEL rewrite 
RewriteRule search/(.*)/ search.php?p=$1 
RewriteRule search/(.*) search.php?p=$1 
# Specify EVENT LEVEL rewrite 
RewriteRule offers/(.*)/ offers.php?p=$1 
RewriteRule offers/(.*) offers.php?p=$1 
# Specify BLOG LEVEL rewrite 
RewriteRule blog/(.*)/ blog.php?p=$1 
RewriteRule blog/(.*) blog.php?p=$1 
RewriteRule view-blog/(.*)/ view-blog.php?p=$1 
RewriteRule view-blog/(.*) view-blog.php?p=$1 
# Specify EXPIRED OFFER LEVEL rewrite 
RewriteRule offer-expired/(.*)/ offer-expired.php?p=$1 
RewriteRule offer-expired/(.*) offer-expired.php?p=$1 

답변

0

그것은 원하는 URL과 함께 당신을 떠나지해야 당신의 .htaccess

RewriteEngine On 
RewriteRule ^([^/]*)$ /page.php?page_url=$1 [L] 

RewriteRule를 사용해보십시오.

+0

작동하지 않습니다. 기존 .htaccess 내에서 테스트했는데 아무 페이지도로드되지 않음 – Lee

+0

@ thickguru가 말한대로 적절한 .htaccess로 작동해야한다고 말한 적이 있습니까? 나는 그것이 다음 당신이 그것을 무시하거나이 규칙을 무시하는 기존의 htacees에 문제가되어야한다 같아요. 그가 htaccess 파일 맨 위에 말한 것을 넣었습니까? –