.htaccess ورل إعادة كتابة مع المتغيرات [php]


Answers

Question

أحاول جعل عناوين ورل تبدو أجمل في دليل فرعي محدد على موقعي باستخدام إعادة الكتابة للتغيير:
www.example.com/sub/file/{some_number}/ داخليا:
www.example.com/sub/file.php?var={some_number}
وأظل الحصول على 404. أنا بالفعل إزالة ملحق .php من موقعي باستخدام ملف .htaccess يشبه هذا:

RewriteEngine on
#
## Internally rewrite extensionless file requests to .php files ##
#
# If the requested URI does not contain a period in the final path-part
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
# and if it does not exist as a directory
RewriteCond %{REQUEST_FILENAME} !-d
# and if it does not exist as a file
RewriteCond %{REQUEST_FILENAME} !-f
# then add .php to get the actual filename
RewriteRule (.*) /$1.php [L]
#
## Externally redirect clients directly requesting .html page URIs to extensionless URIs
#
# If client request header contains html file extension
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+html\ HTTP
# externally redirect to extensionless URI
RewriteRule ^(.+)\.html$ http://www.dirtycoffee.com/$1 [R=301,L]

# If client request header contains php file extension
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php\ HTTP
# externally redirect to extensionless URI
RewriteRule ^(.+)\.php$ http://www.dirtycoffee.com/$1 [R=301,L]

محاولتي الحالية هي إضافة سطر في الأعلى مثل:

#Subdirectory rewrite:
RewriteRule ^sub/file/([0-9]+)/?$ sub/file?num=$1 [L] # Handle requests for file

وأنا أعلم أنني يجب أن يكون قواعد متضاربة، ولكني اعتقدت [L] سوف تتوقف فقط إذا تم تطبيق القاعدة الجديدة.