2015-03-16 52 views
6

Tôi vừa mới cài đặt wordpress, tôi đang phải đối mặt với các vấn đề khi tôi cố gắng để thay đổi định dạng permalinks,404 không tìm thấy, URL được yêu cầu <<url name>> không tìm thấy trên máy chủ này trong wordpress

khi tôi thay đổi permalink từ mặc định cho đến ngày và thời gian

Default http://127.0.0.1/?p=123 
Day and name http://127.0.0.1/2015/03/16/sample-post/ 

vào liên kết được tạo ra does't làm việc, nó mang lại cho cùng error 404 mọi lúc ,

The requested URL /2015/03/16/post-5-problem/ was not found on this server. 

Nhưng khi loại permalink được mặc định thì nó hoạt động hoàn hảo.

tôi tìm thấy một số giải pháp mà là

sudo a2enmod rewrite 

Module rewrite already enabled 

giải pháp khác là thay đổi các điều khoản chế độ của tập tin .htaccess để 666 (cho quyền ghi vào wordpress của tập tin .htaccess) trước khi thay đổi các permalink từ mặc định một số loại khác,

sudo chmod 666 /address_of_.htaccess 

tôi đã kiểm tra các tập tin .htaccess

# 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 

nhưng ở trên có vẻ là đúng, bao gồm trên bởi wordpress tự

Cả giải pháp does't có vẻ làm việc, là có bất cứ điều gì khác làm tôi phải thay đổi để cho phép các tùy chọn permalink?

+0

Nội dung của tệp .htaccess trong thư mục WordPress của bạn là gì? –

+1

Thử thêm phần AllowOverride All vào thư mục của cấu hình Apache cho tài liệu gốc của bạn P.S. tất nhiên, khởi động lại apache của bạn sau đó;) –

Trả lời

18

Nếu đó là một cài đặt mới của máy chủ web, có thể quy tắc .htaccess không được phép theo mặc định. Để khắc phục điều đó, chỉnh sửa bạn httpd.conf (thường là trong/etc/apache2), tìm

<Directory "path/to/your/document/root">  
    # .... 

    AllowOverride None 

    # .... 

</Directory> 

và thay đổi

AllowOverride None 

để

AllowOverride All 

Sau đó khởi động lại máy chủ web của bạn và thử lại.

+2

cho người dùng ubuntu, tên tập tin là apche2.conf # có, cảm ơn bạn, tôi quên rằng, tôi vừa cài đặt lại apache. –

+0

Giá trị mặc định cho AllowOverride trong CentOS7 & httpd là 'Không có'. Trong trường hợp của tôi, tùy chọn không được chỉ định trong tệp conf. Tôi đã thêm 'AllowOverride All', các URL httpd và wordpress thân thiện được khởi động lại cuối cùng cũng hoạt động. –

0

Bạn nhận được lỗi này vì máy chủ web của bạn không thể tìm thấy tệp và nó không chuyển yêu cầu tới Wordpress.

Bạn cần thêm quy tắc viết lại cho Wordpress của mình và hướng dẫn về điều đó phụ thuộc vào phần mềm máy chủ web của bạn (Apache, nginx, v.v.).

Ví dụ với nginx:

location/{ 
     try_files $uri $uri/ /index.php?$args; 
} 

nào theo nghĩa đen có nghĩa là: cố gắng mở "/ 2015/03/16/post-5 vấn đề /" trong hệ thống tập tin đầu tiên, nếu nó không tồn tại cố gắng thêm một dấu gạch chéo, nếu điều đó không giúp chuyển yêu cầu đến index.php (đó là tệp chính Wordpress) với các đối số.

Bật mô-đun ghi đè không đủ, bạn phải thêm lại quy tắc viết lại.

+0

bạn có thể cụ thể hơn về nơi để thêm các quy tắc và hướng dẫn viết lại, và tôi đang sử dụng apache. –

1

Đặt lại permalink bạn mong muốn từ khu vực admin wordpress và thêm mã này trong htaccess:

# BEGIN WordPress 

<IfModule mod_rewrite.c> 
ErrorDocument 404 /index.php?error=404 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

Bây giờ, kiểm tra với bài đăng trên blog và các trang.

Xin cảm ơn,

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