2015-12-04 58 views
5

Đối với dự án hiện tại của tôi, tôi phải chuyển hướng 301 một số liên kết nhưng khi bạn nhập chúng với một số tham số bổ sung, các thông số cần được thêm vào url mới.RewriteRule không hoạt động trên máy chủ sản xuất

Ví dụ:

Cũ: /ngôn ngữ/nl/bài-1/test = 123

mới:? Kiểm tra /ngôn ngữ/nl/FA1-artcile-1/= 123

Vì vậy, tôi sử dụng đoạn mã sau: (trong đó hoạt động tốt trên env dev của tôi)

RewriteEngine On 
Options +FollowSymLinks 
RewriteBase /language/nl 
RewriteRule /artcile-1/* /language/nl/fa1-artcile-1/$1 [R=301,L] 

Nhưng một lần vào env sản xuất của tôi nó không hoạt động, nó vẫn chuyển hướng đến url mới nhưng, các tham số get không được thêm vào url mới.

Chỉnh sửa: Nó chuyển hướng nhưng không thêm thông số.

Chỉnh sửa 2: Đổ đầy

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

Nguyên tắc viết lại (s) đến trước phần wordpress và tôi có khoảng 30 trong số họ.

Mọi đề xuất?

+0

Bạn có chắc rằng tính năng viết lại được bật và htaccess được cho phép trong Sản xuất của bạn không? – Svetoslav

+0

Xin lỗi tôi quên đề cập đến quy tắc hoạt động nhưng chỉ các thông số không được nối thêm vào máy chủ sản xuất của tôi. –

+0

@anubhava nó là một trang Wordpress, tệp được đặt trong thư mục gốc. –

Trả lời

0

Bạn cần phải gắn query string:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L,QSA] 
</IfModule> 

# END WordPress 
1

Có nó như thế này:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 

RewriteRule ^language/nl/article-1/?$ /language/nl/fa1-artcile-1/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 
+0

Điều này sẽ làm việc probaly nhưng đối với trường hợp của tôi nó sẽ không, chỉ cần khám phá chúng tôi đang chạy này trên một MS Azure env. Chúng tôi cần một tập tin web.config. –

+0

Hmm sau đó làm thế nào bạn có htaccess làm việc cho wordpress – anubhava

+0

Rõ ràng viết lại quy tắc chỉ không làm việc, nhưng chuyển hướng 301 vv làm việc chỉ như thế. –

0

Có lẽ câu trả lời khác ở đây là chính xác là tốt. Nhưng đối với trường hợp của tôi, họ sẽ không làm việc.

Env nó đang chạy lên là một MS Azure env, vì vậy tôi cần phải có một tệp web.config thay vì tệp .htaccess (bao giờ, nó hoạt động cho một số phần).

Cảm ơn sự giúp đỡ và suy nghĩ nhanh chóng!

Các vấn đề liên quan