我目前有这个.htaccess代码来删除.php / .html扩展名。
# Apache Rewrite Rules
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php
# Remove .html-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^\.]+)/$ $1.html
# End of Apache Rewrite Rules
</IfModule>
我正在尝试将poll.php页面设为/ poll / 123123 /&lt; - (6位数ID)来自poll.php?poll = 123123。
我尝试添加
RewriteRule ^[A-Za-z0-9-]+/([A-Za-z0-9-]+)/?$ polls.php?poll=$1 [NC,L]
但它然后尝试检测dashboard.php而不是dashboard.html。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
如果你正在寻找一个特殊的URL并且只有数字更改,则不需要通配符
RewriteRule ^poll/(\d+)/$ polls.php?poll=$1
或更好地获得总是6位
RewriteRule ^poll/([0-9]{6})/$ polls.php?poll=$1
应该这样做