2013-04-17 31 views
10

Tôi gặp vấn đề về nội dung trùng lặp với trình hỗ trợ Symfony2 của tôi. Các url sau đây cung cấp cho cùng một nội dung:Symfony2 - chuyển hướng/thư mục web đến root

www.mywebsite.com/web/pagewww.mywebsite.com/page

Dưới đây là nội dung của tập tin /.htaccess tôi:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ web/$1 [QSA,L] 
</IfModule> 

Và nội dung của /web/.htaccess tập tin của tôi:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ app.php [QSA,L] 
</IfModule> 

Tôi muốn chuyển hướng bất kỳ url nào bắt đầu bằng /web đến / nhưng tôi không thể làm được. Bạn có gợi ý nào không ?

+2

Ai đó có thể giải thích cho tôi tại sao câu hỏi này bị đóng là "tắt chủ đề" để biết điều đó trong lần sau không? – Brewal

+0

Như đã nói [ở đây] (http://meta.stackexchange.com/questions/81032/are-htaccess-questions-ever-on-topic-at-so), các câu hỏi liên quan đến htaccess không nhất thiết phải là chủ đề về SO. Sau đó tôi đã bỏ phiếu để mở lại nó vì nó thậm chí đã không được chuyển đến một trang web khác. – Brewal

Trả lời

9

Trong file .htaccess trong thư mục web của bạn (file /web/.htaccess), thêm những quy tắc ngay bên dưới các RewriteEngine On:

RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /web/ 
RewriteRule ^(.*)$ /$1 [L,R=301] 

này chuyển hướng tất cả các truy cập trực tiếp vào thư mục web vào thư mục gốc.