自去年以来,我更新了我的网站两次,自第一个版本以来,我有不同的网页名称。是否可以在apache中创建动态规则?
例如:
我用这些页面(例子):
我想创建一个规则,将abc123重定向到abc_123(如果存在),abc_123重定向到abc-123(如果存在)。 感谢
答案 0 :(得分:16)
为什么不呢?
RewriteRule ^([a-z]+)([0-9]+)$ /$1-$2 [NC,L]
RewriteRule ^([a-z]+)_([0-9]+)$ /$1-$2 [NC,L]
修改强>
或者你可以使用1条规则:
RewriteRule ^([a-z]+)(_?)([0-9]+)/?$ /$1-$3 [NC,L]
通过这种方式,可以轻松地在(_?)
中添加字符,而不是一点一点地反复创建相同的规则。
答案 1 :(得分:-6)
我找到this example:
RewriteEngine on
#
# If the requested URL exists as a file with a .php extension
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
# internally rewrite requested .html URL to .php file
RewriteRule ^(([^/]+/)*[^.]+)\.html$ /$1.php [NC,L]
您需要了解各种选项并进行编辑,以使其适合您的情况。