2013-03-22 67 views
1

试图将前者的网址改写为后者。重写该功能出于某种原因不起作用。怎么修?谢谢。htaccess mod url rewrite not working

www.example.com/example-example.html

www.example.com/example-example/

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule ^([a-z]+-?[a-z]+)/$ /$1.html 

回答

0
Options +FollowSymLinks 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule ^(.*)$ $1.html 
+0

嘿谢谢,但仍然因为某些原因无法使用。还有什么我应该做的?我的域目录中有.htaccess文件,粘贴了以下行,但URL保持不变。 – 2013-03-23 09:15:45

+0

apache?如果是,请检查指令'AllowOverride'并将其设置为'All'以进行您的域配置 – mkjasinski 2013-03-23 11:00:18

0

试试这个:

RewriteRule ^([a-z-]+)/?$ $1.html 

这会默默地将用户对/ example-example /的请求重写为实际文件路径/example-example.html。不检查文件路径是否存在,它将匹配任何包含字母和连字符的请求。如果您需要更具体的限制条件,请告诉我们。