문자열 형식으로 URL을 쓰고 싶습니다. http://www.mysite.com/news/2012/10/04/article-title 하지만 htaccess 파일 사이트 스타일에서 RewriteRule을 사용하면 제대로 작동하지 않습니다. 나는이 질문을 가지고 : PHP에서 이것을하는 가장 좋은 방법은 무엇입니까? 이전에 asp.net 오순절 재작 성 모듈에서이 작업을 수행하지만 지금은이 작업을 수행 할 수 없으며 많은 시간 동안 검색하고 많은 기사를 읽었지만 여전히이 문제가 발생했습니다 ... 감사합니다.깨끗한 URL을 PHP로 작성하십시오
답변
를 사용하여 단일 진입 점을 (아마 가장 잘 특정 확장자로 끝나는 경우 확인하여 수행) 원하는 주소를 포함하는 변수를 얻습니다. 이제 PHP 내부에서 (포함 된) 경로를 결정할 수 있습니다. 제어가 쉬운 곳입니다.
또한 절대 경로를 사용하여 스타일을 지정하거나 PHP 변수에 스타일의 절대 경로를 포함시켜야합니다.
위의 .htaccess
은 파일이있는 경우 URL을 다시 쓰지 않습니다. (라인 2-3).
<link rel="stylesheet" href="/css/styles.css" />
즉 그때는 아마뿐만 아니라 당신의 CSS 경로를 재 작성하는 당신을 위해 작동하지 않는 경우 : 내 스타일 시트 및 스크립트에 넣어 때
는 개인적으로, 나는 (루트에 적어도 상대 나) 절대 URL을 사용 .
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?route=$1 [L]
이 방법은 모든 요청이와, 인덱스 페이지로 연결됩니다 : 필요에 따라 파일을 제외
좋은 점 - 루트와 관련하여 좋은 점이 많이 도움이됩니다. 나는 일반적으로 스타일/JS 파일/이미지를 "데이터"폴더에 보관합니다.이 폴더는 다시 쓰지 않습니다. 특정 확장자를 제외하는 것보다 쉬울 것 같습니다. 다시 작성하지 않으려는 내용 (PHP 및 HTML 포함)을 데이터 폴더에 넣을 수 있기 때문입니다. –
나는 이것을 할 수 있습니까? 예를 들어, 내 CSS, js, img 파일을 별도의 폴더에 보관하고 해당 폴더를 재 작성에서 제외 할 수는 있지만 어떻게 수행 할 수 있습니까? –
규칙이 올바르게 설정되었지만 CSS 서식이 없어지면 CSS 파일의 상대 경로가 올바르지 않음을 의미합니다.
당신은 아마 지금이 바로 같은 것을 사용하고 있습니다 :
<link rel="stylesheet" href="css/styles.css" />
변경을 여기에 :
<link rel="stylesheet" href="/css/styles.css" />
내가 CSS 파일 경로를 변경했으나 작업량이 많음 –
내가 사용하는 솔루션입니다 기본 HTML 태그, 이미지 및 스타일 시트를 정렬 .
적어도 다음을 사용하십시오. RewriteCond %{REQUEST_FILENAME} !-f
적어도 - 더 안전 할 수 있으므로 직접 경로가 여전히 작동합니다.
htaccess 파일에이 줄이 있지만 문제가 여전히 남아 있습니다. –
- 1. Nginx 깨끗한 URL을 MediaWiki로 다시 작성하십시오
- 2. 양식 입력을 사용하여 PHP로 URL을 작성하십시오.
- 3. CouchDB에서 url을 다시 작성하십시오.
- 4. iirf url을 다시 작성하십시오.
- 5. QTP에 동적으로 URL을 작성하십시오.
- 6. get_resource_uri에 역방향 URL을 작성하십시오.
- 7. .htaccess에있는 URL을 다시 작성하십시오.
- 8. 동적으로 URL을 작성하십시오.
- 9. URL을 htaccess로 다시 작성하십시오.
- 10. .htaccess 깨끗한 URL을 생성하는 mod_rewrite
- 11. mod_rewrite로 깨끗한 URL을 생성하는 방법
- 12. 아파치 URL을 .htaccess에 다시 작성하십시오.
- 13. 문자열, PHP에서 유효한 URL을 작성하십시오.
- 14. REGEX : 모든 URL을 절대적으로 작성하십시오.
- 15. firefox addon에서 URL을 다시 작성하십시오.
- 16. URL을 PHP와 .htaccess로 다시 작성하십시오.
- 17. global.asax를 사용하여 URL을 다시 작성하십시오.
- 18. Google 모바일 페이지 URL을 작성하십시오.
- 19. XSLT를 사용하여 Google지도에 URL을 작성하십시오.
- 20. url을 다시 작성하십시오. asp.net C#
- 21. htacess를 사용하여 url을 다시 작성하십시오.
- 22. URL을 PHP로 다시 작성
- 23. URL을 PHP로 수정하십시오
- 24. php로 URL을 보내십시오. cUrl
- 25. URL을 PHP로 다시 작성
- 26. URL을 PHP로 표시
- 27. 깨끗한 문자열을 만들기 위해 PHP로 HTML 정리하기
- 28. 오래된 URL을 새로운 깨끗한 URL로 다시 작성
- 29. 아파치, MySQL 및 깨끗한 URL을 쿼리로
- 30. rewriterule 정규 검색어와 깨끗한 URL을 혼합 했습니까?
이 htaccess 코드를 사용하면 처음에는 제 스타일이 잘 작동하지만 다른 URL은 다음과 같습니다 : www.mysite.com/test/ 제 스타일은 사라졌습니다.이 경우 CSS 경로를 바 꾸었습니다. : href = "../ css/main.css"그리고 제 스타일은 핵심적으로 작동합니다! –
내 css 및 js 경로를 수정하기 위해 변수를 정의하는 방법은 무엇입니까? –
이 코드를 사용하여 문제가 해결되었습니다. define ('ROOT_DIR', dirname (__ FILE__)); \t ('ROOT_URL', substr ($ _ SERVER [ 'PHP_SELF'], 0, - (strlen ($ _ SERVER [ 'SCRIPT_FILENAME']) - strlen (ROOT_DIR))))); –