도메인이 example.com
이며 클라우드 플레어에 설정되었습니다. 하지만 cloudflare를 사용할 필요가 없으므로 up.example.com
하위 도메인을 만들고 cloudflare를 사용하지 않습니다. 그리고 나는 그것을 메인 도메인에 주차시킨다. 즉, example.com
및 up.example.com
은 루트 사이트를 가리 킵니다. SEO에서 중복되는 콘텐츠를 보호하려면 .htaccess
파일이 필요합니다.하위 도메인 와일드 카드 .htaccess for escape cloudflare
이 항목은 나를 위해 중요 : 메인 도메인에서
- 모든 URL은 (example.com) 오픈 액세스 할 수 있어야합니다.
- 기본 페이지가 하위 도메인 (up.example.com)으로 열리지 않고 기본 도메인 (example.com)으로 열려 있습니다.
upload
컨트롤러의 모든 주소는 하위 도메인에서 액세스 할 수 있어야합니다. 예를 들면 다음과 같습니다. up.example.com/upload/- 컨트롤러 (내 작업)의 단어 뒤에는 az, 0-9가 포함됩니다 (파일을 가리키는 데 점을 사용하지 않기 때문에)
- 다른 URL 정보 경로는 하위 도메인에서 액세스 할 수 없어야하며 404 오류가 발생해야합니다.
RewriteEngine On RewriteCond %{HTTP_HOST} ^up\..+ [NC] RewriteCond %{REQUEST_URI} !^(/upload/?[a-z,A-Z,0-9]*)$ [NC] RewriteRule . - [R=404,L,NS] # Hide index.php , this used for YII PHP Framework RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L,QSA]
을하지만이 코드에서 내 문제는 다음과 같습니다 :
이 들어
, 나는 여기에 코드를 작성
- up.example.com =이>를 엽니 다! 하지만 열지 않아야합니다.
- up.example.com/upload/test => 나를
Not Found. The requested URL /index.php was not found on this server.
으로 보내야하지만 열어야합니다.
참고 :에 대한 또 다른 URL에이 오류 메시지가 /upload/test.jpg
정확하게 지적에 나는, 내가 Not Found. The requested URL /upload/test.jpg was not found on this server.
오류 메시지가 up.example.com/upload/test.jpg 예를 들어, 올바른 404 오류가 발생하지만 오류에 대한 up.example.com/upload/test
메시지가 index.php
파일을 가리키고 있습니다!
수정 .htaccess
코드를 알려주십시오.
이유는 너무 많은 요구 사항이 하나의 질문에 곤봉이 있다는 것입니다. 그것을 단순화하려고 노력하십시오. – anubhava