我目前正在运行一个分类广告网站, 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(该号码是广告ID)
或 www.mysite.com/another-ad-detail-da50777
我需要的是得到这个:
www.mysite.com/ads/another-ad-detail-da50777
和
RewriteRule ^([^\.]+)$ $1.php [NC,L]
我可以在其他网址上做些什么来展示www.mysite.com/about/而不是www.mysite.com/about(没有/)
答案 0 :(得分:0)
您可以遵守以下规则:
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]