Objek tidak ditemukan kesalahan setelah menulis ulang URL [duplikat]

Aug 31 2019

Saya memiliki dua jenis URL di situs saya yaitu

Kumpulan URL pertama

<a href="services_name1">Service name1</a>

Kumpulan URL kedua

<a href="journel.php?name=services_name1">Service name1</a>

Sekarang yang saya lakukan adalah, Untuk URL pertama, saya ingin URL seperti

services/services_name1

Jadi saya menggunakan kode seperti di bawah ini di htaccess dan berhasil

RewriteRule ^services/services_name1$ services_name1

Masalah saya adalah dengan URL kedua. Untuk URL kedua, saya ingin URL saya seperti

services/authors/services_name1

Saya mencoba kode di bawah ini di htaccess

RewriteRule ^/?services/authors/([0-9]+)$ /journel.php?name=$1

tapi tidak berhasil. Saya mendapatkan 404.

saya menggunakan <a href="services/authors/services_name1">click here</a>

.htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php RewriteCond %{HTTPS} off RewriteRule ^home$ index
RewriteRule ^about-us$ aboutus RewriteRule ^services/authors$ authors


RewriteRule ^/?services/authors/([0-9\w]+)$ /journel.php?name=$1

FileETag MTime Size
</IfModule>

Maukah Anda membantu saya mengatasi masalah ini?

Jawaban

MaartenDev Aug 31 2019 at 16:38

peraturan:

RewriteRule ^/?services/authors/([0-9]+)$ /journel.php?name=$1

hanya cocok dengan angka (karena 0-9) setelah /authors/seperti /authors/22/. Untuk memungkinkan karakter (kata / tanda hubung) \wdapat digunakan:

RewriteRule ^/?services/authors/([0-9\w]+)$ /journel.php?name=$1

Pesanan yang diperbarui dengan seluruh .htaccess:

# BEGIN WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{HTTPS} off
RewriteRule ^home$ index RewriteRule ^about-us$ aboutus
RewriteRule ^services/authors$ authors RewriteRule ^/?services/authors/([0-9\w]+)$ /journel.php?name=$1

FileETag MTime Size
</IfModule>

Lihat lembar contekan regex: https://www.rexegg.com/regex-quickstart.html