سؤال

ما الذي يجب أن أفعله في قاعدة إعادة الكتابة التالية لجعله حتى يعمل سواء كانت مائلة في نهاية عنوان URL أم لا؟

بمعنى آخر.http://mydomain.com/content/featured.أوhttp://mydomain.com/content/featured/

RewriteRule ^content/featured/ /content/today.html 
هل كانت مفيدة؟

المحلول

استخدم ال $ لتمييز نهاية السلسلة و ? لتمييز التعبير السابق المراد تكرار الصفر أو مرة واحدة:

RewriteRule ^content/featured/?$ content/today.html

لكنني أنصحك بالتمسك برمجة واحدة وصحيح أخطاء إملائية:

# remove trailing slashes
RewriteRule (.*)/$ $1 [L,R=301]

# add trailing slashes
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ $0/ [L,R=301]

نصائح أخرى

طريقة بسيطة للقيام بذلك:

RewriteEngine On
RewriteBase / 
RewriteRule ^content/featured(\/||)$ /content/today.html [L,R=301,NC] 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top