В настоящее время я запускаю сайт рекламных объявлений, Php + Mysql (без фреймворков). В основном у меня есть страница с объявлениями (ads.php) и страница с информацией о объявлениях (ad_detail.php)
Это мой текущий.htaccess:
# disable directory browsing
Options All -Indexes
ErrorDocument 400 /error.php
ErrorDocument 401 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php
ErrorDocument 502 /error.php
ErrorDocument 504 /error.php
RewriteEngine on
Это правило перезаписи для деталей объявлений:
RewriteRule ^(.*)-da([0-9]+)$ ad_detail.php?ad=$2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Конечный результат:
www.mysite.com/this-is-the-ad-detail-da50555 (номер объявления)
или www.mysite.com/another-ad-detail-da50777
Мне нужно это получить:
www.mysite.com/ads/another-ad-detail-da50777
А также
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Что я могу сделать в других URL-адресах, чтобы показать как www.mysite.com/about/вместо www.mysite.com/about (без/)
У вас могут быть следующие правила:
RewriteEngine on
RewriteBase /
RewriteRule -da([0-9]+)/?$ ad_detail.php?ad=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]