У меня есть такой URL.
http://localhost:8080/computer/products.php?cid=3
я должен изменить по следующим сегментам.
http://localhost:8080/computer/products/3
есть ли какой-либо возможный способ преобразования в сегменты в mod rewrite.
Попробуйте это в файле.htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^computer/(\w+)/(\w+)$ computer/$1.php?cid=$2 [L,PT]
Вы можете перенести любую часть из исходного URL с помощью регулярных выражений regex.
В твоем случае:
^computer/ (\w+) / (\w+) $
⇓ ⇓
computer/ $1 .php?cid= $2
В конкретной ситуации:
computer/ products / 3
⇓ ⇓
computer/ products .php?cid= 3
Если это не работает, проверьте, включены ли файлы.htaccess:
AllowOverride All
Кроме того, вы можете поместить код перезаписи в файл конфигурации apache.
Этот код можно использовать в файле DOCUMENT_ROOT/.htaccess
:
RewriteEngine On
RewriteBase /
RewriteRule ^([\w-]+)/([\w-]+)/(\d+)/?$ /$1/$2.php?cid=$3 [L,QSA]
вы можете попробовать с помощью этого простого кода в вашем.htaccess
RewriteEngine on RewriteRule ^/компьютер/продукты/([0-9] +) $/computer/products.php?cid=$1
Надеюсь, я тебе помогу. Marco
[yourwebroot]/computer/products.php
)? У него есть разрешение на чтение?